| 你好,那个链接失效了,可以再发一下嘛?谢谢 |
101MHz 发表于 2018-2-25 19:40 你可以尝试使用ENV工具,来自动生成MDK5工程就可以了 |
| 用iar或者keil每次修改rtthread.h重新编译耗时好久,有木有好办法用scons?。。。。。。。。。。 |
| Nano堆内存是在rt_hw_board_init()函数中初始化的, |
| github上下载的rt_thread源码不是已经全部移植好了吗,直接在bsp中找到对应分支就可以直接用了呀 |
liuchang 发表于 2017-11-27 14:38 你也可以自己弄一个放上来,大家一起来完善,哈哈 |
八度空间 发表于 2017-11-25 18:34 请教下八度大神: rtt会出类似freertos的教程和书籍嘛? 因为感觉rtt相对其它rtos会比较“有趣”(包括它的code style,bsp,finsh shell组件等)。 同时,其中又包含文件系统,lwip,gui等,对我来说,难度不小。 期待原子团队的大作......到时候一定支持下...... |
| 牛逼了,我还没弄完了,你这么快就移植好了,666 |
本帖最后由 liuchang 于 2017-11-24 22:09 编辑 aozima 发表于 2017-11-24 18:58 的确如大神所言,一般rtos都要求不能在中断中申请动态内存的,rtt也不例外。 我觉得这其中主要有2个原因: <1>如果是采用链式结构的内存分配算法,如rtt的小内存分配算法,它的时间复杂度是O(n),这个时间是不固定的,违背了rtos的“实时”原则,也同时违背了中断时间尽可能短的原则。 <2>中断可以看作是优先级很高的线程,这里就很容易产生临界资源的问题。所以rtt在分配内存资源时都是采用信号量来进行临界区保护,而在中断中的函数是一定不能是阻塞函数。 |
将启动文件的heap size设置为0 不做应该也可以,只是nano里面基本不用内存管理,不设为0就是浪费资源。 RT-Thread有自己的内存管理,要用也不用启动代码里面配置的。 同时也可以把libc中默认的malloc指向rt_malloc 如果直接使用libc中的malloc,就是启动文件中设置的那个空间。 但最好做好加锁,不然就确保不会在多个任务中使用。 没有使用RTOS的,请不要在中断里面申请内存(有RTOS的情况下,也不要)。 |
/1
|手机版|OpenEdv-开源电子网
( 粤ICP备12000418号-1 )
GMT+8, 2025-12-26 22:05
Powered by OpenEdv-开源电子网
© 2001-2030 OpenEdv-开源电子网