【问题标题】:Mixing C & Assembly混合 C 和汇编
【发布时间】:2016-05-05 11:42:30
【问题描述】:

我使用的是软核 Cortex-M0,keil uvision 5,vivado 14.4 我用我的手臂架构连接了一个加法器 首先,我使用了汇编语言,vivado模拟器中的模拟运行正常。

我的第一个汇编代码--->

Reset_Handler PROC
GLOBAL Reset_Handler
ENTRY
LDR R1,=0x59000000
LDR R0,=0x33
STR R0,[R1]`

现在,我想使用 C 和汇编语言,但模拟不起作用,它无法访问加法器寄存器

第二次大会-->

Reset_Handler PROC
GLOBAL Reset_Handler
ENTRY
IMPORT __main
LDR R0, =__main 
BX R0
ENDP

C 代码-->

#define AAA 0x59000000
int main(void)
{
  *(unsigned int*)AAA=0x44;
}

【问题讨论】:

  • 我用的是keil uvision5 (SW: assembly&c) ,nd vivado(HW:verilog),只是vivado模拟器中的模拟有问题
  • 对不起,我是初学者,我想知道__main()是否调用了我写的main()函数

标签: c assembly


【解决方案1】:

我的汇编代码

;向量表在复位时映射到地址 0
                    PRESERVE8
                    THUMB

                    AREA    RESET, DATA, READONLY               
                    EXPORT  __Vectors

__向量 DCD 0x0000FFFC DCD 复位处理程序 DCD 0
DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0 DCD 0

                    ; External Interrupts

                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0
                    DCD     0

            AREA |.text|, CODE, READONLY

;重置处理程序 Reset_Handler PROC 全局重置处理程序 进入
导入 __main LDR R0, =__main
BX R0

            ENDP
            ALIGN       4                    
            END                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    

【讨论】:

    猜你喜欢
    • 2011-12-24
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-14
    • 1970-01-01
    相关资源
    最近更新 更多