出出啊
出出啊
It is Not the Mountain We Conquer, but Ourselves

注册于 7 months ago

回答
980
文章
23
关注者
65

rt-thread 用户程序能跳转,逻辑程序不能跳转?

这个最好不要删的吧,强制删除导致其它等待事件的线程会使用一个没有初始化的对象。你也看到了,continue之后直接返回了 RT_ERROR。
如果你确定必须删除重新创建,其它线程在continue之前也得先find到新的事件集对象之后才能返回while 开头,进而继续等待新的事件集对象。

我感兴趣的是,你说的突发情况是什么,是业务要求?还是异常?是不是发现了莫名其妙的有事件但是其它线程没收到?

没开软定时器?
某个地方使用定时器,但是那个定时器没初始化成功,然后 rt_timer_stop 的时候出错了。

你那几行代码在哪儿执行的?你知道app已经跳转,那引导的肯定没有问题的。问题出在引导后的运行。

左边显示并不能说明编译器知道它的路径,添加include路径

RT_USING_DFS_MNTTABLE
删掉这个配置宏

果然会有这种需求,看看 rt_system_heap_init 函数在哪儿调用执行的,在这个函数后面理论上是可以使用 rt_malloc 的

  1. 你需要实现那个初始化函数,但是一般不需要在main里调用了,你看到的 stm32_hw_pwm_init 完全帮你做了这些调用工作。
  2. 俩函数不能代替。
  3. 没有是依葫芦画瓢,自己添加了。

bus 变量初始化了?bus 指针不是空?

你这俩宏定义的不对吧。没和你想要的引脚号对应上?

先说最后那个另,studio 不支持 扇区擦除?可能默认设置的全片擦除。
如果 data 区数据在进 main 前没有被初始化,我是不是可以怀疑链接文件里初始化栈的操作有bug?
data 和 bss 都要先在内存里初始化,然后才有进 main(rtt 里是 $Sub$$main) 函数。

其实吧,我觉得fal就不错了,既能搞分区,把只读的程序部分隐藏不指定分区,也能达到保护目的,指定了分区的部分可以通过fal读写

看你的描述,跳转成功了,系统也运行了,但是变量初始化出问题了。
全局初始化的变量在哪儿放着?data?

回到
顶部

发布
问题

投诉
建议