完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
类似与libcpu中的cortex-m3将ARM内核相关的代码从BSP目录中分离出来, 主要为:
startup_xxx.S 各个编译器对应的启动脚本,设置堆栈,第一级IRQ响应及中断结束时的thread切换。 修改中移除了内核之外的寄存器操作,将初次禁止中断、SRAM remap等移动到了BSP/platform的rt_low_level_init.c中,调用其rt_low_level_init函数前设置了SVC模式的stack。 针对各个编译器增加了rt_low_level_xxx.inc asm 头文件,用于用户定义各个CPU模式下的stack。 trap.c 主要把查询IRQ中断向量号和确认响应中断两个函数从trap.c 移动到了interrupt.c 同时增加interrupt.h用于声明这两个函数。 rt_uint32_t rt_hw_interrupt_get_active(rt_uint32_t fiq_irq, rt_uint32_t id); void rt_hw_interrupt_ack(rt_uint32_t fiq_irq); cpuport.c及mmu.c 增加iar的asm部分。 遇到的问题: scons脚本中如何包含asm的include路径, 我暂时解决方案是直接在bsp顶层AFLAGS中加入’ -Iplatform’ 原来libcpu/ARM926 thread切换的时候 会在stack中保存PC,LR, R12-R0,CPSR, SPSR, 但是参考libcpu/AM335x 则只保存PC,LR, R12-R0,SPSR,没有CPSR, 但是仿照修改的是时候会产生错误。 虽然iar/keil/gcc thread切换代码完全移植,但是只有keil下面的是稳定的,iar/gcc在运行60s左右都会自己重启。 |
|
相关推荐
3个回答
|
|
如果重启的时间一样的话,检查一下看门狗。
|
|
|
|
|
|
|
|
github rebase 没用好,push的时候又把Grissiom的一个commit包进去了.
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
飞凌嵌入式ElfBoard ELF 1板卡-CAN编程示例之开发板测试
714 浏览 0 评论
该问题是用APP给芯海科技的CST92F25芯片发指令是出现的
2397 浏览 1 评论
821 浏览 0 评论
1589 浏览 1 评论
2397 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 17:16 , Processed in 0.687570 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号