硬件连接请查看前一篇文章 https://mbb.eet-china.com/forum/topic/72509_1_1.html
目录
•            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 ledon.elf  
    arm-linux-objcopy -O binary -S ledon.elf ledonc.bin