【I.MX6ULL】使用汇编点灯的大致步骤

编写代码led.s:

1、使能 GPIO1 时钟;

2、设置 GPIO1_IO03 的复用功能和电气属性;

3、设置 GPIO方向寄存器GDIR为输出,数据寄存器DR写入数据;

编译代码:

arm-linux-gnueabihf-gcc -g -c led.s -o led.o                   led.s编译为对应的led.o 文件

arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf       led.o文件链接到地址0X87800000转换为led.elf

arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin       led.elf文件转换为led.bin 文件

arm-linux-gnueabihf-objdump -D led.elf > led.dis               led.bin文件反汇编为led.dis 文件

以上用Makefile完成:

1.编写Makefile文件代码:

led.bin:led.s

        arm-linux-gnueabihf-gcc -g -c led.s -o led.o

        arm-linux-gnueabihf-ld -Ttext 0X87800000 led.o -o led.elf

        arm-linux-gnueabihf-objcopy -O binary -S -g led.elf led.bin

        arm-linux-gnueabihf-objdump -D led.elf > led.dis

clean:

        rm -rf *.o led.bin led.elf led.dis

2.执行make命令,生成led.oled.elfled.binled.dis文件

烧写代码:

  1. 将 imxdownload 拷贝到工程根目录下;
  2. 给予 imxdownload 可执行权限;
  3. 插入SD卡:./imxdownload led.bin /dev/sdb 生成一个 load.imx 的文件;
  4. 插入开发板,点灯成功。

猜你喜欢

转载自blog.csdn.net/ggbb_4/article/details/131001759