前面做的两个实验,在裸机下跑PS的timer计时器中断,PL到PS的按键中断均工作正常,但是将代码移植到freertos工程时,中断不执行,跟中断无关联的task可以运行。产生这个问题的主要原因,在于PS部分只有一个中断控制器,因此我们只能申请一个中断控制器设备,如果申请了两个,那么不工作是必然的。 ...
分类:
其他好文 时间:
2019-05-03 11:15:53
阅读次数:
463
对于Cortex-M单片机,用户程序调用RTOS系统函数有两种思路:假设创建任务的RTOS函数是xxx_task_create()第一类:FreeRTOS、RT-Thread中采用的方法,和调用普通的用户函数一样,xxx_task_create()调用直接执行任务创建代码第二类:RTX、zephyr ...
分类:
其他好文 时间:
2019-04-18 20:11:09
阅读次数:
145
浅谈操作系统与内存 对于计算机的发明,相信大家都有耳闻那个占地面积按平米算的第一台计算机。在那个时候,CPU的资源是极其珍贵的,随着这些年突飞猛进的发展,一片指甲盖大小的民用级CPU一秒钟能执行的指令数可以达到上亿级别。 随着计算能力的增长,芯片外围的硬件和配套的软件也是一路高歌,发生了天翻地覆的变 ...
分类:
其他好文 时间:
2019-03-06 13:31:51
阅读次数:
139
当下FreeRTOS得到了Keil、STM32Cube MX等开发环境的大力支持,很大程度上无需再考虑移植等底层问题,简单设置后在代码中直接调用即可。不得不说,这是激动人心的,RTOS的各项特性所带来的方便给予我们极大的诱惑,总觉得只要用好RTOS,我们能把单片机玩出各种花样,再也不用考虑什么全局变... ...
分类:
其他好文 时间:
2019-02-23 21:53:57
阅读次数:
250
创建任务的函数如下: 第一个参数是:任务函数指针,即任务函数名。 敲黑板:创建任务和任务函数是两码事,一定要分清楚; 第二个参数是:这个参数不被FREE RTOS调用,就是辅助调试用的; 第三个参数是:为任务创建栈空间的大小,单位是字(不是byte),这个值自己大约给一个自己认为合理的值就可以了; ...
分类:
其他好文 时间:
2019-02-15 01:18:36
阅读次数:
177
1. 使用IAR 8.20版本,STM32L431RBT芯片,JLINK V9仿真器,实际仿真测试的时候卡在如下的函数 意思是用系统滴答定时器去做1ms的定时器中断,很平常的代码,为毛就异常了,难道是这个是FreeRTOS才能使用的?中断服务函数为配置? 2. 检查了一下原来是没有startup_s ...
分类:
其他好文 时间:
2019-01-28 15:13:08
阅读次数:
419
如何使用cubemx 配置freertos,实时查看FreeRTOS任务列表和运行状态 ...
分类:
其他好文 时间:
2019-01-22 15:56:28
阅读次数:
282
heap1是FreeRTOS中内存管理最简单的一个,它简单到只能申请内存。是的,跟你想的一样,一旦申请成功后,这块内存再也无法释放。对于大多数嵌入式系统,特别是对安全要求高的嵌入式系统,这种内存管理策略很有用,因为对系统软件来说,逻辑越简单,越安全。实际上,大多数的嵌入式系统并不需要动态删除任务、信 ...
分类:
其他好文 时间:
2019-01-16 23:57:02
阅读次数:
378
为了保证FreeRTOS的所有用户任务都在正常的运行,我们通过独立看门狗的形式来检测,一旦发现有某个任务长时间没有执行,看门狗就会将系统复位。 运行条件: 创建5个用户任务Task1,Task2,Task3,Task4和Task5。其中Task5的优先级最高,然后依次是Task4,Task3,Tas ...
分类:
其他好文 时间:
2019-01-14 23:10:12
阅读次数:
263
(一)FreeRTOS其他API函数是在调试中使用的,具体使用的看书本,贴出来为了方便查找 (二)FreeRTOS其他API函数 (三)常用 1. uxTaskGetSystemState() 获取信息: 2. vTaskList() 获取信息: ...