嵌入式学习笔记之用C语言点亮一个LED

硬件连接请查看前一篇文章

目录
  • 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

嵌入式学习笔记之用C语言点亮一个LED_第1张图片
image
嵌入式学习笔记之用C语言点亮一个LED_第2张图片
image

你可能感兴趣的:(嵌入式学习笔记之用C语言点亮一个LED)