OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5002|回复: 5

Linux-ALPHA板Makefile文件为什么不处理文件的依赖性

[复制链接]

5

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-9-17
在线时间
21 小时
发表于 2019-11-19 16:33:27 | 显示全部楼层 |阅读模式
1金钱
我在学习裸机开发篇的时候,具体是《I.MX6U嵌入式Linux驱动开发指南》第十三章:BSP工程管理实验,发现Makefile文件没有处理C源文件的依赖性,就是一个C文件依赖多个H文件的情况,只定义了目标文件依赖单个源文件的模式规则。然后往后翻阅资料,发现Makefile好像都没有处理C文件的依赖性,这样可以么?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-9-17
在线时间
21 小时
 楼主| 发表于 2019-11-19 17:06:22 | 显示全部楼层
在资料第八章:汇编点灯实验中,使用汇编写了点灯的程序,成功点亮了LED灯,但我有一个疑问,上电应该会产生复位中断?而此时复位中断函数未定义,那复位中断是一个野指针?不会导致错误么?
回复

使用道具 举报

5

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-9-17
在线时间
21 小时
 楼主| 发表于 2019-11-19 17:14:38 | 显示全部楼层
在资料第十章:C语言版LED灯实验中,在start.s汇编文件中设置了处理器运行模式为SVC模式,所以在运行用户程序main()函数时,处理器依然是SVC模式吧?而不会进入User模式,只有异常和中断发生时处理器才会自动改变运行模式?
回复

使用道具 举报

37

主题

595

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1572
金钱
1572
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-11-22 10:47:47 | 显示全部楼层
本帖最后由 candylife9 于 2019-11-22 10:51 编辑

因为H文件已经直接包含到C文件里面了,由在预编译的时候,H文件内容会被插入C文件中,所以严格来说H文件不是C文件的依赖。如果你没有把H包含在C里面,那就需要显式把H加到C的依赖里面。
回复

使用道具 举报

5

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2019-9-17
在线时间
21 小时
 楼主| 发表于 2019-11-22 18:44:38 | 显示全部楼层
您这说法不对吧,老哥,根据《跟我一起写Makefile》第三部分,第三节:makefile是如何工作的,make工具执行的是依赖文件修改时间比目标文件修改时间新的规则,如果在只修改.H文件情况下,.C文件的修改时间是不会变的,此时执行make,是不会重新编译生成目标文件的。即不会gcc的,也就是说您指出的预编译阶段,也不会发生了。

回复

使用道具 举报

2

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2019-2-1
在线时间
11 小时
发表于 2020-6-20 22:30:07 | 显示全部楼层
自己改了个Makefile,把.h文件加入到依赖中去了,只不过工程管理方式有点不一样,可以参考一下

1.rar

27.68 KB, 下载次数: 6

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 13:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表