历史上的今天
返回首页

历史上的今天

今天是:2025年04月11日(星期五)

正在发生

2020年04月11日 | ARM-LINUX-GCC简易万能makefile

2020-04-11 来源:eefocus

#Created by JamieChu 2019-06-19 ;

#几乎全自动了,改一下TARGET_BIN的值,然后扔到工程目录下,运行make命令就可以了;

#也可以自行修改VPATH来搜寻其他目录;

#本makefile会自动生成依赖并在make的时候自动判断依赖文件是否为最新;

 

VPATH = src:../headers          #设置makefile额外的代码搜寻目录,不同目录之间用:分开

 

TARGET_BIN := keyled.bin

TARGET_ELF := $(patsubst %.bin,%.elf,$(TARGET_BIN))

TARGET_DUMP := $(patsubst %.bin,%.dump,$(TARGET_BIN))

 

SRC_S := $(shell ls *.S)        #shaell是执行系统命令行命令的函数,这里执行了ls

SRC_C := $(shell ls *.c)

SRC_H := $(shell ls *.h)

OBJ_S := $(patsubst %.S,%.o,$(SRC_S))       #patsubst是模式替换函数

OBJ_C := $(patsubst %.c,%.o,$(SRC_C))

 

DEP_FILES := $(patsubst %.c,%.o.d,$(SRC_C)) #每个.o文件的make依赖信息,这假设每个c文件都配有h文件

DEP_FILES := $(wildcard $(DEP_FILES))       #筛选出真实存在的.d文件,或者直接使用shell函数来ls *.d

 

CC := arm-linux-gcc

AS := arm-linux-as

LD := arm-linux-ld

CFLAGS := -mcpu=arm920t

 

$(TARGET_BIN):$(OBJ_S) $(OBJ_C)

arm-linux-ld -Ttext 0 $^ -o $(TARGET_ELF)

arm-linux-objcopy -O binary -S $(TARGET_ELF) $(TARGET_BIN)

arm-linux-objdump -D $(TARGET_ELF) > $(TARGET_DUMP)

 

ifneq ($(DEP_FILES),) #第一次编译,肯定没有.d文件,那么DEP_FILES就是空,所以不执行include

include $(DEP_FILES) #第二次编译刚好相反,所以include这个依赖信息进来

endif

 

%.o:%.S

$(AS) $(CFLAGS) $< -o $@

 

%.o:%.c

$(CC) $(CFLAGS) -c $< -o $@ -MD -MF $@.d

 

.PHONY:clean cleanall cleandepfiles

clean:

rm -rf *.o *.elf *.dump *.bin

 

cleanall:

rm -rf *.o *.elf *.dump *.bin *.d

 

cleandepfiles:

rm -rf *.d

推荐阅读

史海拾趣

全智景(Allvision)公司的发展小趣事

在电子行业快速发展的背景下,全智景公司始终保持着强烈的创新意识和敏锐的市场洞察力。公司不断推出具有创新性的产品和服务,如智能安防监控系统、无人机视觉导航系统等,满足了市场不断变化的需求。同时,全智景公司还积极投入研发资源,探索新兴技术的应用前景,为公司的未来发展储备了更多的技术储备。

Coiltronics公司的发展小趣事

在电子行业中,产品质量是企业生存的关键。Coiltronics公司深知这一点,因此在生产过程中始终坚持严格的质量管理。公司引进先进的生产设备和技术,建立完善的质量检测体系,确保每一件产品都符合高标准的质量要求。这种对品质的执着追求,使得Coiltronics的产品在市场上赢得了良好的口碑,吸引了大量忠实客户。

AVAGO公司的发展小趣事

尽管AVAGO公司在发展过程中取得了显著成就,但也面临着诸多挑战。随着全球半导体市场的竞争日益激烈,公司需要不断投入研发资金、加强人才培养、优化生产流程等方面来保持竞争优势。同时,公司还需要密切关注行业动态和市场需求变化,以便及时调整战略和产品线。在未来,AVAGO公司将继续致力于技术创新和市场拓展,为全球客户提供更优质的产品和服务。

以上五个故事仅是对AVAGO公司发展历程的简要描述,实际上公司在发展过程中还经历了许多其他重要事件和阶段。这些故事展示了AVAGO公司如何凭借技术实力、市场洞察力和战略眼光在电子行业中脱颖而出,并成为全球领先的半导体企业之一。

Comus_International公司的发展小趣事

随着市场的不断变化和客户需求的日益多样化,Comus International并没有满足于现状。公司开始着手新产品的开发,不久便推出了金属汞开关,并最终成功研发了获得专利的无汞开关。这些创新产品不仅进一步巩固了公司在市场上的地位,也拓展了其业务范围,为公司的长远发展注入了新的活力。

GREATECS公司的发展小趣事

Comus International的创始之路始于1978年的美国。最初,公司专注于住宅和商业恒温器的玻璃水银倾斜开关的制造。由于产品质量上乘,很快在市场上赢得了良好的口碑,实现了立竿见影的成功。这种成功为公司的后续发展奠定了坚实的基础,也为Comus International的快速增长创造了条件。

FRIWO公司的发展小趣事

为了更好地服务中国市场和亚太地区的客户,FRIWO在中国深圳设立了生产基地——飞煌德商科技(深圳)有限公司。该生产基地负责开发、生产、加工电源变换器、电源充电器等产品,并承担自产产品及同类商品的批发、佣金代理、进出口及相关配套业务。飞煌德商科技(深圳)有限公司的成立和发展,不仅增强了FRIWO在中国市场的竞争力,也为公司的全球化战略提供了有力支持。通过不断优化生产流程、提升产品质量和服务水平,飞煌德商科技(深圳)有限公司逐渐成为了FRIWO在全球供应链中的重要一环。

问答坊 | AI 解惑

电路设计是如何确定限流电阻的阻值

各位大虾,在设计电路原理图时,两个集成芯片连接时往往都要串联电阻,而非直接相连,请问这些限流电阻的阻值如何确定?…

查看全部问答>

USB HID 自定义设备之 DS18B20 温度计(转)

转自:点点滴滴版主 http://www.pic16.com/bbs/dispbbs.asp?boardid=8&replyid=172309&id=46618&page=1&skin=0&Star=1 经过将近一个月的闭关。今天终于完成自定义USB HID 免驱动设备。其中由于系统问题,识别出来的HID 设备要驱动程序,害得我浪费 ...…

查看全部问答>

PNG显示

在EVC下,IImage可以对PNG解码,可是为什么透明部分是白色?下面是代码。请问要怎么解决?还有没有其它的方法解决PNG在EVC下的显示问题?     hr = FindResource(GetModuleHandle(NULL),MAKEINTRESOURCE(IDR_PNG1), _T(\"PNG\"));  ...…

查看全部问答>

摄象头驱动需要添加哪几个组件??

我wince5.0下执行CamTest2.exe(厂家提供的camer测试程序),弹出如下对话框。 This test program only supports MJPEG stream formats. the driver reports format 5 supported . 请问MJPEG对应在PB下需要添加哪几个组件?? 驱动是厂家提供的 ...…

查看全部问答>

怎么在EVC中修改WINCE的IP地址?

我按照网络上的方法来修改IP地址,为什么老是不行,虽然程序执行成功,该添加的注册表项也添加了,但是为什么老是改不成功呢? 我用的方法如下: HKEY   hkey;      CString   strKeyName  &nbs ...…

查看全部问答>

2440 I2S AD转换问题

请问能够通过I2S音频解码芯片进行ADC转换,再通过I2S接口回传至2440处理器吗?如何操作? 音频芯片AK4554自带I2S接口,以及两路ADC转换,默认ADC一直工作,是否ADC的数据直接送到 了I2S的SDO口?将SDO口接到2440的SDI口,通过寄存器能读出ADC转换 ...…

查看全部问答>

硬件相关的经典资料

硬件相关的经典资料…

查看全部问答>

有没有人用过cycloneⅣ的lvds宏的啊

有没有人用过cycloneⅣ的lvds宏的啊,我现在遇到好几个问题,比如:不管tx_in的位宽是多少,输进去的却总是8位等等。很神奇。求助各位,已经弄了很久了。有用过的大神现身吧,帮帮我,感激不尽。…

查看全部问答>

晒晒获奖来的----【POS机套件】

昨天接到快递员来电,知道是【POS机套件】到了,很高兴,不知道里面有些什么?很期待,到手拆开一看,有很多IC,可怎么也没有找到PCB板,有些失落,看来这套件是让大家自已设计DIY的,觉得很有难度啊,不知有哪位大侠能出来带领大家DIY就好了。收到 ...…

查看全部问答>

帮忙看看用TPS22915B做的这个开关机电路有没有问题

本帖最后由 wgsxsm 于 2015-6-12 10:39 编辑 注:KEY 1,3硬件连接在一起的,请无视那个NC元件。 如上图所示,KEY按下,系统上电,MCU上电后将PWR_ON置高,系统处于开机状态; 长按KEY,通过检测PWR_DEC(平时为低)状态是否为高,持续时间达到3 ...…

查看全部问答>