硬件连接请查看前一篇文章
目录
- C指针复习
- 写C程序
- 汇编编写启动程序
1.C指针复习
int *a=0x10000000
定义一个类型为int * 的指针变量a,并使指针指向0x10000000
*a=0x400
将0x400存在地址为a的地址上。这里的*表示对地址为a的地址操作
2.写C程序
void main()
{
unsigned int *GPFCON=0x56000050;//定义类型为unsigned int *的变量GPFCON,并赋值
unsigned int *GPFDAT=0x56000054;//定义类型为unsigned int *的变量GPFDAT,并赋值
*GPFCON=0x100;//配置GPF4为输出
*GPFDAT=0;//配置GPF4输出0
}
3.汇编编写启动程序
.text
.global _start
_start:
/*分配内存*/
ldr sp,=4096//nand启动
/*调用MAIN函数*/
bl main
halt:
b halt
编译
arm-linux-gcc -c -o led.o led.c
arm-linux-gcc -c -o start.o start.S
arm-linux-ld -Ttext 0 start.o led.o -o led_on.elf
arm-linux-objcopy -O binary -S led_on.elf led_on_c.bin