大话西游2018
大话西游2018
This guy hasn't written anything yet

注册于 2 years ago

回答
11
文章
1
关注者
1

请问,修改启动文件这段代码应该加在哪里?可以截图展示下?

解决方案:
把数据的收发都做到一个线程内,
image.png

参考资料:
socket为send和recv设置超时时间
https://www.cnblogs.com/lidabo/p/3804245.html

.

假设个场景:如果某个线程内系统延时100ms间隔时间执行一次某个动作,rtthread没有满足,假设偶偶会变成120ms才过来执行,因为中途有更高优先级的任务消耗了大块的时间,那么rtthread后续将如何处理? 这块需要查看下rtos的实现源码。
我初步认为应该是没后续处理了,时间过了就过了呗,还能咋处理?
而且从我们的用户软件设计上,如果希望保证某个线程100ms执行一次,可以这样做:1.不应该让高优先级的任务占用大块的时间,可以把要做的事情分成一小段一小段来做,不要一次性全做完,这样就可以把CPU腾出去,从而兼顾其他的低优先级线程。 2. 将我们希望的精准100ms间隔执行一次的这个线程的优先级设高。 3.关于如何提高主芯片的办事效率,=》可以借助DMA. 网络、串口、SPI等大量数据收发的场景,都可以使用DMA.

2222222222.png
就是宏 RT_SERIAL_RB_BUFSZ 。

对应STM32-HAL库-设备驱动框架内的源码如下图:
3333333333.png

下一步有多个选项: 1.精读生成的keil工程代码
2.可在此基础上去使用文件系统,参考文章:



    本帖最后由 大话西游2018 于 2019-11-24 20:56 编辑


我在ENV里还配置了其他两处地方( 再次提醒, 我使用的是stm32f407正点原子战舰开发板对应的bsp)
HFZ]}MX~OD{V)(6VVORP637.png 60`[E[`0~)9}V4SZ~PG]PDU.png
结合一楼(沙发)的图片,在main.c添加了一些代码后,至此,SPI FLASH已经支持SFUD的操作了。
下面我们来测试一下SFUD的功能:
IRM_22UI5RJB2536~1IZHVJ.png
SFUD的功能测试OK。




回到
顶部

发布
问题

投诉
建议