一步步点亮LED---开始写代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一步步点亮LED---开始写代码相关的知识,希望对你有一定的参考价值。
下面是我写的点亮 LED 的代码:
1 #define GPJ0CON 0xE0200240 2 #define GPJ0DAT 0xE0200244 3 4 .globl _start 5 6 _start: 7 ldr r0, =GPJ0CON 8 ldr r1, =0x00111000 9 str r1, [r0] 10 ldr r0, =GPJ0DAT 11 ldr r1, =~(0x1<<4) 12 str r1, [r0] 13 halt: 14 b halt
上面代码中的 0xE0200240 和 0xE0200244 这两个地址值分别是特殊功能寄存器 GPJ0CON 和GPJ0DAT 的地址,在代码中操作这两个地址就是在操作这两个特殊功能寄存器。
从代码中可以看出,汇编代码的第一个标号是 _start ,现在从链接程序的入口地址方面的知识来看就可以知道,_start 肯定是链接脚本指定的入口地址,我们也可以改掉它,使用其他标号,但必须使用特定的链接脚本。
使用 .globl 伪指令来将 _start 标号声明为外部变量,以便 链接器 和 其他文件中的函数 可以使用。
以上是关于一步步点亮LED---开始写代码的主要内容,如果未能解决你的问题,请参考以下文章