sync
sync
This guy hasn't written anything yet

注册于 2 years ago

回答
126
文章
3
关注者
2

猜测是波特率过高,频繁中断,造成YMODEM线程故障
如果也是升级进度条经常停滞
可以参考这里

自己看下drv_flash_fx.c就明白了

  • onchip_flash_16k,
  • onchip_flash_64k,
  • onchip_flash_128k

分别对应的不同的内部flash空间,使用不同的读写函数

const struct fal_flash_dev stm32f2_onchip_flash= { "stm32_onchip", 0x08000000, 1024*1024, (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k} };
const struct fal_flash_dev stm32_onchip_flash_16k = { "onchip_flash_16k", STM32_FLASH_START_ADRESS_16K, FLASH_SIZE_GRANULARITY_16K, (16 * 1024), {NULL, fal_flash_read_16k, fal_flash_write_16k, fal_flash_erase_16k} };
const struct fal_flash_dev stm32_onchip_flash_64k = { "onchip_flash_64k", STM32_FLASH_START_ADRESS_64K, FLASH_SIZE_GRANULARITY_64K, (64 * 1024), {NULL, fal_flash_read_64k, fal_flash_write_64k, fal_flash_erase_64k} };
const struct fal_flash_dev stm32_onchip_flash_128k = { "onchip_flash_128k", STM32_FLASH_START_ADRESS_128K, FLASH_SIZE_GRANULARITY_128K, (128 * 1024), {NULL, fal_flash_read_128k, fal_flash_write_128k, fal_flash_erase_128k} };

猜测是波特率过高,频繁中断,造成YMODEM线程故障
如果也是升级进度条经常停滞
可以参考这里

建议看下rt-thread编程指南手册,里面讲的很详细
image.png
编程指南链接在这里

定义成rt_uint8_t type应该也便于自己根据需要新增类型,而不必修改enum rt_object_class_type type

没看懂楼主想表达什么,rtthread本身就是当前只能有一个运行的线程,你图中tshell不是运行状态吗?tshell优先级也比其他要高,当然是tshell线程优先执行。

先直接让电脑的串口连接PA9、PA10,看msh终端是否正常。
如果这样没问题,就检查蓝牙模块吧
如果有问题,就检查串口引脚配置或程序吧

基于芯片建立的,里面没有包含任何的外设初始化代码,需要自己添加
基于板卡建立的,会根据板卡的实际外设,直接生成外设的初始化代码,无需自己添加

#ifdef BSP_USING_PWM17
    PWM17_INDEX,
#endif

PWM17_INDEX后面应该是逗号","才对,是自己手误改错了吧?我的驱动文件是正常的逗号

没看注释吗?写的很清楚,这个邮箱的名称是mbt ,你也可以修改为其他的字符串

楼主给的信息太少,无从判断故障。
两个网卡都走socket的话,建议,先设置WIFI为默认网卡,建立socket1。然后设置以太网为默认网卡,建立socket2。然后socket1,socket2就可以同时工作了。
或者参考这个文章 RT-Thread 按指定网卡创建socket

楼主要明白stm32是如果存储数据的,搞清楚大小端,就知道为啥数据是反的

进入TCPclient线程后先延时一段时间,再执行后面的程序试试,应该还是执行早了

回到
顶部

发布
问题

投诉
建议