我想写一些代码来引导一个模拟的(在OVPsim上) Microblaze处理器。
我已经建立了一个真正的裸机平台--也就是没有半主机库。但是我不熟悉写.S文件,而不是一些小的内联汇编。
因此,我希望指定我的汇编程序.text部分位于物理地址0x00000000
在Linux内核head.S文件中,引导代码前面有两个宏:
__HEAD和
ENTRY(_start)从我通过From源代码可以看到的,都不是Microblaze特定的:
__HEAD显示为扩展到:
.section ".head.text","ax"我真的看不出
ENTRY(_start)扩展到,但看起来没什么(??)
谁能向我解释一下我需要用什么来作为启动.text的前言?
发布于 2014-11-04 02:18:38
您应该从从Xilinx学习crt0.s (以及其他crt*.s文件)开始。这些文件为运行在MicroBlaze上的独立、非Linux程序初始化C运行时环境。
基本上,这些启动文件只做最基本的工作:
对于Xilinx14.3,它们的位置是Xilinx/14.3/ISE_DS/EDK/sw/lib/microblaze/src/。或者只是在你的Xilinx文件夹上搜索crt0.s,或者谷歌一下。
https://stackoverflow.com/questions/26691015
复制相似问题