当前位置:网站首页>[AUTOSAR eight OS]
[AUTOSAR eight OS]
2022-07-03 00:50:00 【Ke Yuqian】
AutoSAR 8、 ... and OS
1 Tasks
- Basic tasks (Basic Task)
- Extended tasks (Extended Task)
1.1 Basic tasks (Basic Task)
When the operating system is started , be-all Task All enter the suspended state ; Then from The user triggers what needs to be executed Task( Generally in DaVinci There are configurations in , Can generate code , For example, it is configured to initialize execution or 100ms Cycle execution ); Triggered Task Are directly ready , Waiting to be OS call ; At this time OS Will be based on Task Priority to schedule Task( If there is a high priority Task Ready ,OS Will suspend the ongoing Task, Give priority to high priority Task perform , Then continue to execute the suspended Task, Similar to interrupt nesting ).
1.2 Extended tasks (Extended Task)
The extended task has one more waiting state than the basic task , This state is when Task While running , Suddenly need an event ( Like just ADC Data update ), While waiting for this event ,Task Enter the waiting state and release CPU resources , Low priority Task You can continue to occupy CPU; When ADC The data update event is coming , Then let's wait Task Enter ready state , Because of the high priority , Then enter the running state .
2 Alarms
Alarms As the name suggests, it is an alarm clock , Role is Set a cycle timing , But it can not only be used to trigger Task, It can also be used to set a Event Events or Call A callback function .
Alarms The time benchmark of is generated by hardware timer Tick Time Decisive , Every Tick Time How much time can I spend in DaVinci Middle configuration . Every one of them Tick Time,System Counter Benga 1, Add to the preset value ,Alarm It was triggered .
3 Interrupts
- Interrupt priority is always higher than Task
- In the priority of interrupts, class I interrupts are greater than class II interrupts ;
- periodic Task And periodic interrupts can be processed periodically , But in the case of strict cycle requirements , It is better to use interrupt
3.1 Class I interrupt (Cat1)
- No access OS service , After the interruption, return directly to the interruption
- here OS Still follow the normal schedule
3.2 Class II interrupt (Cat2)
- Will visit some OS service ( some OS Service is not allowed , such as TerminateTask)
- Once after the interruption OS The rescheduling of .
3.3 The difference between class I and class II interrupts
- Class I interrupt : Because... Is not allowed OS service , Therefore, you cannot call Task2 Trigger function , You can only return to after exiting the interrupt Task1, And then wait OS Should be called Task2 I'll call it again when
- Class II interrupt : Because it is allowed to use OS Some services , At this time, we write Task2 Trigger function , Then a scheduling will occur directly when the interrupt ends and returns , because Task2 Triggered , High priority , Then go straight into Task2 function , etc. Task2 End of run , Back again Task1 Continue operation ( The following figure 2 situation ); Of course , It is also possible not to trigger other Task,OS The scheduling will still return to Task1 In the middle ( The following figure 1 situation )
4 IOC (Inter OS Application Communicator)
It opens a protected in memory IOC Area , For cross nuclear communication .
This area supports multiple input multiple output , from OS management , stay DaVinci Generally, it is generated automatically without modification , This is for understanding only
5 OS Resources
When at least two Task When accessing the same resource in parallel , There's probably something wrong with it ,OS Resources It is used to prevent parallel access errors
边栏推荐
- 【日常训练】871. 最低加油次数
- Liad: the consumer end of micro LED products is first targeted at TVs above 100 inches. At this stage, it is still difficult to enter a smaller size
- Why is the website slow to open?
- Vulkan performance and refinement
- RK3568开发板评测篇(二):开发环境搭建
- 数组与集合性能比较
- Rust字符串切片、结构体和枚举类
- Nc17059 queue Q
- 【JetCache】JetCache的配置说明和注解属性说明
- [shutter] image component (the placeholder | transparent_image transparent image plug-in is loaded into the memory)
猜你喜欢
The difference between tail -f, tail -f and tail
University of Oslo: Li Meng | deep reinforcement learning based on swing transformer
The "2022 China Digital Office Market Research Report" can be downloaded to explain the 176.8 billion yuan market in detail
Rust ownership (very important)
Vulkan-实践第一弹
【AutoSAR 十 IO架构】
使用jenkins之二Job
Basic use of shell script
Is there a free text to speech tool to help recommend?
1.12 - 指令
随机推荐
Use Jenkins II job
Helm basic learning
Briefly talk about other uses of operation and maintenance monitoring
Vulkan-性能及精细化
测试右移:线上质量监控 ELK 实战
关于QByteArray存储十六进制 与十六进制互转
File operation io-part2
leetcode-934:最短的桥
Advanced pointer (I)
Hundreds of continuous innovation to create free low code office tools
AttributeError: ‘tuple‘ object has no attribute ‘layer‘问题解决
【AutoSAR 一 概述】
One of the reasons why setinterval timer does not take effect in ie: the callback is the arrow function
飞凌搭载TI AM62x的ARM核心板/开发板首发上市,亮相Embedded World 2022
Automated defect analysis in electron microscopic images-论文阅读笔记
[shutter] image component (the placeholder | transparent_image transparent image plug-in is loaded into the memory)
Leetcode-224: basic calculator
1.11 - bus
深度剖析数据在内存中的存储
基于ARM RK3568的红外热成像体温检测系统