基于cortex-m3+ucosii的系统平台的搭建

大漠飞扬 2014-07-15 11:08:02
搭建一个cortex-m3的系统平台步骤:
1.cortex-m3芯片启动文件startup.s的设置。
1)堆栈的空间的分配;
2)中断向量表的建立;
3)建立Reset_hander,调用_main进入C程序。
请问:步骤1)中的堆栈是主堆栈还进程堆栈,其次如果是主堆栈的话,那么它与进程堆栈是什么关系?
步骤2)中的中断向量表建立的顺序和中断向量优先级是否有关系,如果有它们是什么关系?
...全文
204 7 打赏 收藏 转发到动态 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhxianbin 2014-07-17
  • 打赏
  • 举报
回复
stm32 的例子网上多如牛毛,自己要学会Google
大漠飞扬 2014-07-17
  • 打赏
  • 举报
回复
有没有相关的例子,给一个,谢谢。
zhxianbin 2014-07-16
  • 打赏
  • 举报
回复
引用 4 楼 hsy_baby_00 的回复:
是在系统启动文件startup.s中,使用汇编进行设定所需要的中断的优先级,还在什么地方?
m3中断优先级分为抢占优先级和次优先级,设置相关的寄存器实现的,这个自然由用户程序设置,stm32 的库函数在 nvic_XX 的函数中
大漠飞扬 2014-07-16
  • 打赏
  • 举报
回复
是在系统启动文件startup.s中,使用汇编进行设定所需要的中断的优先级,还在什么地方?
大漠飞扬 2014-07-16
  • 打赏
  • 举报
回复
那中断优先级的设置是在什么地方实现的呢?
大漠飞扬 2014-07-15
  • 打赏
  • 举报
回复
有精通嵌入式实时系统平台的大侠,希望指导下。如果能留下QQ联系,在南京的俺请吃饭,不在南京的也表示感谢,来南京的话也请吃饭。
zhxianbin 2014-07-15
  • 打赏
  • 举报
回复
1. Cortex-M3 处理器支持两个不同堆栈,主堆栈和进程堆栈。 它有两个堆栈指针 (SP),分别用于两个堆栈。 一次只能看见一个堆栈指针,具体取决于正在使用的堆栈。 重置以及进入异常处理程序时使用主堆栈。 要使用进程堆栈,必须选择该堆栈。 可以通过以下方法之一执行此操作: 退出处理程序模式时,可通过使用 EXC_RETURN 值 在线程模式中时,可通过使用 MSR 指令写入 CONTROL[1]。 http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0203hc/ch07s01s02.html 是主堆栈还是进程堆栈,我想可以通过阅读源码知道 2. 没有中断向量优先级说法吧,应该是中断优先级吧,二者好像没啥联系:中断向量是固定的,中断优先级是可设置的 有本 cortex-m3 权威指南 可以看看

4,397

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告