[ARM裸机程序][1]ARM裸机程序开发环境搭建

    xiaoxiao2021-03-26  26

    [1]环境搭建

    安装交叉编译工具链(arm-linux-gcc4.4.3)

    详见Bolg。

    交叉编译基础

    arm-linux-gcc常用命令

    1.查看头文件和库文件的搜索路径:

    arm-linux-gcc -print-libgcc-file-name

    2.arm-linux-gcc常用命令

    arm-linux-gcc -g -c led.S //-c为仅汇编操作 -g添加调试信息 arm-linux-ld -Tled.lds -o led.elf led.o //执行链接操作 arm-linux-readelf -a led.elf //查看elf文件头信息 arm-linux-objdump -D -S led.elf //执行反汇编操作 arm-linux-objcopy -O binary led.elf led.bin //转换为二进制文件

    Makefile基础知识

    基本结构

    target(目标) : prerequisites(依赖) command(命令)

    变量的使用

    - 定义:obj=func1.o func2.o - 使用:$(obj)

    特殊变量

    - $^ :代表所有依赖文件 - $@ :代表目标 - $< :代表第一个依赖文件

    通用规则(实例)

    %.o : %.c arm-linux-gcc -o %@ -g -c %^

    链接器脚本

    SECTIONS { . = 0x30008000; . = ALGN(4); .text : { start.o(.text) *(.text) } . = ALGN(4); .data : { *(.data) } bss_start=. . = ALGN(4); .bss : { *(.bss) } }

    设置起始链接地址

    . = 0x30008000;

    设置4字节对齐

    . = ALGN(4);

    变量的使用

    bss_start=.

    代码段首文件

    start.o(.text) *(.text)

    eclipse集成开发环境

    - arm-linux-gcc - arm-linux-gdb - JLink_Linux - eclipse 注意:环境变量配置在/etc/profile中。
    转载请注明原文地址: https://ju.6miu.com/read-659266.html

    最新回复(0)