打印
[ARM入门]

有个问题,我对arm-m0核心的soc进行编程的时候

[复制链接]
1051|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gogosese|  楼主 | 2014-4-12 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我现在用的是汇编语言,1.他内部的的寄存器r0~r12,sp等是不是不需要初始化操作,直接赋值,或者读取某地址的值就可以了?
                      2. 高位寄存器 和  低位寄存器 对于我来说 是不是 完全没有区别?
                      3. 内存分配问题,我用汇编的话,是不是只要指定ram的地址就可以了,不需要考虑内存分配的问题?其实我这一块所知甚少,内存分配                               什么时候才需要考虑?
    谢谢大家了

相关帖子

沙发
airwill| | 2014-4-14 16:37 | 只看该作者
1. sp 是需要初始化的. 一般复位后系统就已经初始化. 其他任意使用(不考虑和 C 混合编程). 中断中 R0-R3, R12不用压栈保护. 可以考虑尽量优先使用 这些寄存器.
2. 高位寄存器 和  低位寄存器 支持的指令是不同的, 得留意.
3. 看具体应用确定.
其实 ARM-CM0 很适合 C 编程, 建议还是学习 C 吧.

使用特权

评论回复
板凳
lr2131| | 2014-4-15 10:32 | 只看该作者
1.SP当然需要初始化,不初始化的话,你用到栈指令,那结果是不可预料的。其他的不知道,看情况和需要吧。建议看看ATPCS和APCS。
2.高低位寄存器当然有区别,有的指令只能操作低位,有的是高地位都可以,有区别的。
3.内存分配的话,不是完全靠汇编代码的。汇编代码指定了标记,然后可以在分散加载脚本中指定标记具体的地址,或者简单点就直接在IDE中设置相关的域地址。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

96

帖子

1

粉丝