[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中。
上一篇:[ARM裸机程序][8]ARM处理器启动流程(S3C2440)
下一篇:[ARM裸机程序][2]TQ2440、ADS1.2、JLINK建立集成开发环境
推荐阅读最新更新时间:2024-11-18 19:42
推荐帖子
- 今天突然遇到个有点意思的电路问题,有兴趣的来答一下
- 问题是:为什么电磁炉不能用铝锅?网上有很多答案,结果鱼目混珠,正确答案很少。欢迎大家讨论。今天突然遇到个有点意思的电路问题,有兴趣的来答一下很少的正确答案是什么?现在的电磁炉是专门设计为使用铁磁性锅的。铜、铝是逆磁性。如果想加热铜铝,也可以专门设计个加热装置。注意金属的铁磁性和非铁磁性的区别。主要涉及铁磁性问题,现在已经有可以用在电磁炉上的铝锅了(确切来说,是铝合金锅)。
- highland 综合技术交流
- DS18B20头文件!绝对好使!M16 8M 的!
- 来源:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=657257&bbs_page_no=1&bbs_id=9999终于调通了!哈哈:我也拿出来跟大家分享一下!里面的内容什么都不用该,就该一下前面宏定义就可以了!只需调用gettemp();就可以了!出口参数wmh是显示的高位,wml使显示的低位,然后调用你的显示程序就可以了! /***********************************************
- fish001 单片机
- s3c2410平台如何扩展内存?
- 原来是64M的,现在想加到128M,请问如何实现?s3c2410平台如何扩展内存?1.原理图+PCB2.UT+BSP配置3.OK需要根据硬件看下具体修改的方法,一般都会涉及到config.bib,OEMAddressTable,还有一些与地址相关的文件,保持一致就行,但是前提需要你了解下ce的内存机制,这个有助于你真正了解ce,另外,需要你重烧eboot,因为你将会根据硬件修改一下sdram的初始化部分。hopethishelps。第一部:到PB的安装目录的%_W
- dzghl163 嵌入式系统
- 绝对好资料---由LCD12864初探嵌入式菜单设计(基于AVR单片机)
- 由LCD12864初探嵌入式菜单设计这篇文章非常详细地介绍了如何从单片机入手在LCD12864液晶上开发嵌入式菜单,文章从位操作开始,依次介绍了作图原理,人机交互学,物质基础等等知识,不但有技术知识的详细讲解,更有详细的程序代码,是难得的好资料,值得大家学习和珍藏。https://download.eeworld.com.cn/download/tiankai001/4818绝对好资料---由LCD12864初探嵌入式菜单设计(基于AVR单片机)看
- tiankai001 下载中心专版
- STM32H7S78-DK测评(四)——RTC测试
- STM32的RTC指的是实时时钟(Real-TimeClock),它是一种用于计时和日期记录的硬件模块。在STM32微控制器中,RTC模块是由一个32位的计数器和一组用于保存日期和时间的寄存器组成的。由于RTC具有较高的精度和稳定性,从而能保持准确的日期和时间信息,因此它常用于需要精确定时和实时数据处理的应用场景。本来以为RTC实现挺简单的,没想到这里还有那么多坑,主要是CubeMX代码生成存在一些问题。在CubeMX中配置选择STM32H7S78-DK模板配置RT
- FuShenxiao stm32/stm8
- 新手提问:我的机器是wince5,arm926ej的内核,用evc时候选择哪个CPU类型?
- 我看列表里面ARM相关的只有ARM4/ARM4I/ARM4T,请问该如何选择?多谢新手提问:我的机器是wince5,arm926ej的内核,用evc时候选择哪个CPU类型?应该是arm4i。在不清楚的时候可以全部都选上。好象EVC4.0sp4就只有V4I这一选项了,应该选V4I就行~好像build不成功,提示如下:“fatalerrorLNK1112:modulemachinetype\'ARM\'conflictswithtargetmachinetyp
- dlj0521 WindowsCE
设计资源 培训 开发板 精华推荐
- LDK120PU32R 3.2V低压降稳压器典型应用(D版)电路
- ADR425 精密升压输出稳压器的典型应用
- VFD闹钟屏幕
- RP2040验证板
- AR0237CSSC00SUEAD3-GEVK:2 MP Sunex DSL945D 1/3" iBGA CIS DK 评估套件
- 2017年全国大学生电子设计大赛_微电网模拟系统(A题)设计报告_国二
- LT3990EDD 5V 降压转换器的典型应用
- LT4275AHMS LTPoE++ 90W 受电设备接口的典型应用电路
- EVAL-INAMP-ICF-RMZ,用于评估 AD8237 微功耗、零漂移、真正轨到轨仪表放大器的评估板
- 具有高阻抗输入源的 LT3971-5、4V 降压转换器的典型应用电路