TaterLi

FreeRTOS内有croutine这个驱动,但是,这个怎么翻译,我也不太明白,暂且脑补成协程,就是co-routine,这个用起来跟任务比较类似,只不过他调用每个东西,都像一个函数一样,不像一个任务,就是说,任务是Cortex-A的话,这协程能做的就是Cortex-M...

发布 0 条评论

一直不知道怎么解释,就解释为互斥锁吧,就是这个变量,或者这块内存,他有锁,需要拿到这个钥匙的人,才能去操作这个内存,不然大家都能操作,就麻烦大了.创建互斥锁的函数是xSemaphoreCreateMutex,返回QueueHandle_t类型的互斥锁,暂定为xMut...

发布 0 条评论

为什么要用临界区保护,一般是因为防止任务执行到一半,被别人抢占了,举个简单的例子,比如UART发送数据.任务A想发送Hello,任务B要发送Tater,然后任务A发送了He后,被任务B抢占,结果最后输出可能是HeTallteor,根本不知道是什么东西. 为了...

发布 0 条评论

只要在一个完善的系统上,必然会有中断,比如GPIO中断啊,SPI中断啊,当然这些怎么处理,首先系统就有中断在上面,所以我们需要一个更高优先级的中断.也就是配置的中断要被configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY高,另外还需要开启SY...

发布 0 条评论

FreeRTOS有队列管理的概念,不过换句话来看就像FIFO/LIFO结合体.他们是两个(或者更多更多)任务用来共享数据的一个通道.比如Task A是队列的生产者,Task B是队列的消费者.队列的变量暂且定义为x[3],共3个元素.队列状态应该如此转移: 初...

发布 0 条评论

之前我们已经知道,优先级比较高的任务会把优先级比较低的认为短路掉,导致优先级低的任务无法执行,然而就有了改变优先级的方法.当然,也有获取优先级的方法,分别是vTaskPrioritySet和vTaskPriorityGet,接下来我们实验一下. 先创建两个任...

发布 0 条评论

之前虽然也有移植FreeRTOS也写过一个程序 ,当那是复制例程的,并没什么用,我们得开始写个程序,点灯开始,Blink板载的两个LED,一个是PG13,一个是PG14.他们看起来要"同时"翻转.比如LED应该是这么做的. static void LED1_Task( void ) { ...

发布 0 条评论

FreeRTOS应该是我见过最好移植的RTOS系统了,不会像uCos一样可能要修改一些库文件,危险性比较大.要下载FreeRTOS的最新源码可以到这个地址:https://sourceforge.net/projects/freertos/files/latest/download?source=files 当然,作为新...

发布 0 条评论

对于这个F429啊,真是神奇,就显示,还搞两个分层,不知道干什么,反正SDRAM还是得读写,好像不但没增加什么东西,反正加重了带宽负载,要是我就直接显示单层了,但是既然有这个功能,我们还是发挥一下这个多层显示的能力吧.我们可以用LTDC_Disp...

发布 0 条评论

有了F4这个开发板之后,又看到了F7和F429两种,虽然他们都已经被很多人下了枪毙判决书,但用户就是那个多啊!偶然撸到一个F429的板子,二手板子啊,便宜,先测试一下SDRAM速度. 当然,也是在学习SDRAM的使用.其中SDRAM实验.板子上使用速度等级...

发布 9 条评论