Spirit
获得 420 次赞
帮助过262人
树莓派是属于开发板?电子积木?还是可以用作小批量生产的产品?目前所了解到玩树莓派的朋友,大多是当做DIY的玩具、练习一下linux系统下的编程。我觉得它不该应用范围这么窄吧想请大家分析下树莓派的特长。谢谢!
目前实现了FATFS+FreeRTOS下一部学习另一个中间件——USB mass storage Class也就是把板子上的Flash能用FATFS格式读写,接上USB后能在电脑上当U盘用。这样必须要考虑多任务时冲突问题。请教下大家要注意些什么问题?程序应该用什么结构?
使用CubeMX构造一个包含了FreeRTOS和FATFS的项目,开了两个任务。发现它把FATFS的初始化函数放在DefaultTask里执行。如果放在DefaultTask里的话,要么,其它线程不要试图调用FatFs的函数。要么确保MX_FATFS_Init()执行完毕。为什么不把MX_FATFS_Init()放在main.c里,在调用MX_FREERTOS_Init之前执行?CubeMX这样构造是出于什么考虑?-----------------------------------------------------------------------------------------------------------------------------------------------------------------------早上起来,突然冒出个念头:如果多个任务都需要使用FATFS的API的话,还要做互斥。会不会CubeMX的设计者希望,一个外设只由一个任务去操作,避免多任务抢占?===================================================================================问题解决结果是,当选择了FreeRTOS,FATFS也要增加一些操作系统中的加锁动作。这个过程CubeMX替我做了,以至于我没有想到。f_mount函数就带有中锁动作。如果在RTOS没有启动时去执行f_mount的话,就会在某入死循环。CubeMX替我建了一个默认任务,其它中间件的初始化工作最好在默认任务里完成(包括USB)