共2条
1/1 1 跳转至页
zlg,ucos,ucos2,76 zlg的ucos移植不能在ucos2.76下运行
问
我的一块zlg的easyARM2100板子
因为打算用较新版本的ucos
所以 直接用ucos2.76的代码 替换掉配套光盘中样例移植中source目录下的原ucos2.52的代码
用户文件使用的是EX1_ARM
根据原来os_cfg.h文件修改新的os_cfg.h 等
在ADS1.2编译后 生成hex文件
烧录到芯片中运行
但是上电后 任务不能切换 即只执行了TaskStart后 其他任务没用启动
因为手头没有ucos2.6的代码 无法确定是否同样存在类似问题
理论上 应该ucos的内核代码和移植无关
我以前在别的系统上做的移植也是如此 只需要更换ucos内核代码 2.5 2.6 2.7等 都可以不修改任何移植相关代码就正常运行
如果谁有这方面的经验请指点我? 答 1: re注意:在移除includes.h后OSIntCtxSw()的处理! 答 2: 注释掉该行后 还是不行阿 :(注释掉 includes.h中的
#define OSIntCtxSw() return
一行后 情况依旧 ×_× 答 3: re看来还没有看明白“移除includes.h后”的“OSIntCtxSw()的处理”;
只要你让ucos源码调用OSIntCtxSw()时执行return,而不是移植代码中的OSIntCtxSw就可以了! 答 4: 下午试了下2.61 可以跑看来就是2.7不能 :(
答 5: 明白了 :) 多谢将os_core.c中的OSIntExit()函数中 调用OSIntCtxSw()的地方 用return替代
本来 应该是被includes.h中的那个宏定义替换的 不过不知道为什么 在2.7中 这个宏没用替换掉这句代码 答 6: 明白了 是2.7的源码中没有直接包含includes.h文件 加入包含即可
因为打算用较新版本的ucos
所以 直接用ucos2.76的代码 替换掉配套光盘中样例移植中source目录下的原ucos2.52的代码
用户文件使用的是EX1_ARM
根据原来os_cfg.h文件修改新的os_cfg.h 等
在ADS1.2编译后 生成hex文件
烧录到芯片中运行
但是上电后 任务不能切换 即只执行了TaskStart后 其他任务没用启动
因为手头没有ucos2.6的代码 无法确定是否同样存在类似问题
理论上 应该ucos的内核代码和移植无关
我以前在别的系统上做的移植也是如此 只需要更换ucos内核代码 2.5 2.6 2.7等 都可以不修改任何移植相关代码就正常运行
如果谁有这方面的经验请指点我? 答 1: re注意:在移除includes.h后OSIntCtxSw()的处理! 答 2: 注释掉该行后 还是不行阿 :(注释掉 includes.h中的
#define OSIntCtxSw() return
一行后 情况依旧 ×_× 答 3: re看来还没有看明白“移除includes.h后”的“OSIntCtxSw()的处理”;
只要你让ucos源码调用OSIntCtxSw()时执行return,而不是移植代码中的OSIntCtxSw就可以了! 答 4: 下午试了下2.61 可以跑看来就是2.7不能 :(
答 5: 明白了 :) 多谢将os_core.c中的OSIntExit()函数中 调用OSIntCtxSw()的地方 用return替代
本来 应该是被includes.h中的那个宏定义替换的 不过不知道为什么 在2.7中 这个宏没用替换掉这句代码 答 6: 明白了 是2.7的源码中没有直接包含includes.h文件 加入包含即可
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 【S32DS】S32K3 RTD7.0.1 HSE 组件配置报错问题解决被打赏¥27元 | |
| 【S32K3XX】MCME 启动 CORE1被打赏¥23元 | |
| AG32VH407下温度大气压传感器及其检测被打赏¥20元 | |
| AG32VH407下光照强度传感器BH1750及其检测被打赏¥22元 | |
| AT32VH407下使用温湿度传感器DHT22进行检测被打赏¥20元 | |
| DIY一个婴儿澡盆温度计被打赏¥34元 | |
| 【FreeRtos】FreeRtos+MPU region 配置规则被打赏¥23元 | |
| 【分享开发笔记,赚取电动螺丝刀】三分钟快速上手驱动墨水屏(ArduinoIDE)被打赏¥28元 | |
| 【S32K3XX】LIN 通讯模块使用被打赏¥31元 | |
| 【FreeRtos】FreeRtos + MPU模块的配置使用被打赏¥32元 | |
我要赚赏金
