驱动程序中使用编译器是如何知道用了哪个mach

ipqtjmqj 2016-11-23 02:54:45
据说<mach/xxx.h>头文件都是从arch/${ARCH}/mach-XXX/include目录找的,其中

$(ARCH)我找到了,在内核根目录的Makefile里可以设置。

但mach-xxx中的xxx是在哪设置的啊
...全文
448 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipqtjmqj 2016-12-20
  • 打赏
  • 举报
回复
今天看embedde linux primer 1st edition这本书,看到4.3.3节,终于发现,原来是通过命令行传递的 make help可以列出所有的操作 make config是让你选各种配置, 而make xxx_defconfig中就有适合你机器型号的选项。 生成一个隐藏的.config文件, make时还会根据.config文件在include/linux目录下生成autoconf.h头文件。 另外开发板厂家一般会提供生成好的.config文件
sinat_31207515 2016-11-25
  • 打赏
  • 举报
回复
求助 将123456一次压入栈中,在此过程中,可能随时将元素弹出栈,若六个元素出栈顺序是352416,则栈的容量至少是多少?他是怎么实现的?
sinat_31207515 2016-11-25
  • 打赏
  • 举报
回复
这是一道选择题,问的是最少?而是我不明白怎么样才能得到这样的出栈序列(352416)
ipqtjmqj 2016-11-25
  • 打赏
  • 举报
回复
引用 9 楼 sinat_31207515 的回复:
求助 将123456一次压入栈中,在此过程中,可能随时将元素弹出栈,若六个元素出栈顺序是352416,则栈的容量至少是多少?他是怎么实现的?
没看懂,既然是6个元素应该只需要容量为6的栈就行了吧,为什么还要求栈的容量
cocoabird 2016-11-24
  • 打赏
  • 举报
回复
引用 7 楼 ipqtjmqj 的回复:
[quote=引用 5 楼 yuelengdihai 的回复:] [quote=引用 4 楼 ipqtjmqj 的回复:] [quote=引用 3 楼 yuelengdihai 的回复:] 应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
arch我知道也,也找到了设置的地方,我问的是mach,同一个arch下又分了很多mach 我查到这篇博文,但没说mach在哪设置[/quote] 这个问题我也没注意到,驱动层和操作系统相对来说是独立的,这个应该在驱动程序里面设置的。举个例子:i/o操作,操作系统提供一个write接口,给驱动层发一个写指令,驱动程序需要自己判断设备类型,读写是否错误,在设备上显示等问题。我感觉mach应该是在驱动程序里mk文件里设置的,不知道分析的对不对[/quote] 终于找到了,原来是在内核根目录下的config1文件里[/quote] 学习了
ipqtjmqj 2016-11-24
  • 打赏
  • 举报
回复
引用 5 楼 yuelengdihai 的回复:
[quote=引用 4 楼 ipqtjmqj 的回复:] [quote=引用 3 楼 yuelengdihai 的回复:] 应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
arch我知道也,也找到了设置的地方,我问的是mach,同一个arch下又分了很多mach 我查到这篇博文,但没说mach在哪设置[/quote] 这个问题我也没注意到,驱动层和操作系统相对来说是独立的,这个应该在驱动程序里面设置的。举个例子:i/o操作,操作系统提供一个write接口,给驱动层发一个写指令,驱动程序需要自己判断设备类型,读写是否错误,在设备上显示等问题。我感觉mach应该是在驱动程序里mk文件里设置的,不知道分析的对不对[/quote] 终于找到了,原来是在内核根目录下的config1文件里
ipqtjmqj 2016-11-23
  • 打赏
  • 举报
回复
引用 5 楼 yuelengdihai 的回复:
[quote=引用 4 楼 ipqtjmqj 的回复:] [quote=引用 3 楼 yuelengdihai 的回复:] 应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
arch我知道也,也找到了设置的地方,我问的是mach,同一个arch下又分了很多mach 我查到这篇博文,但没说mach在哪设置[/quote] 这个问题我也没注意到,驱动层和操作系统相对来说是独立的,这个应该在驱动程序里面设置的。举个例子:i/o操作,操作系统提供一个write接口,给驱动层发一个写指令,驱动程序需要自己判断设备类型,读写是否错误,在设备上显示等问题。我感觉mach应该是在驱动程序里mk文件里设置的,不知道分析的对不对[/quote] 谢谢解答,我明天再仔细找找
cocoabird 2016-11-23
  • 打赏
  • 举报
回复
引用 4 楼 ipqtjmqj 的回复:
[quote=引用 3 楼 yuelengdihai 的回复:] 应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
arch我知道也,也找到了设置的地方,我问的是mach,同一个arch下又分了很多mach 我查到这篇博文,但没说mach在哪设置[/quote] 这个问题我也没注意到,驱动层和操作系统相对来说是独立的,这个应该在驱动程序里面设置的。举个例子:i/o操作,操作系统提供一个write接口,给驱动层发一个写指令,驱动程序需要自己判断设备类型,读写是否错误,在设备上显示等问题。我感觉mach应该是在驱动程序里mk文件里设置的,不知道分析的对不对
ipqtjmqj 2016-11-23
  • 打赏
  • 举报
回复
引用 3 楼 yuelengdihai 的回复:
应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
arch我知道也,也找到了设置的地方,我问的是mach,同一个arch下又分了很多mach 我查到这篇博文,但没说mach在哪设置
cocoabird 2016-11-23
  • 打赏
  • 举报
回复
应该是针对不同的硬件厂商采用不同的arch,硬件那么多类型,不可能采用一套arch
ipqtjmqj 2016-11-23
  • 打赏
  • 举报
回复
引用 1 楼 yuelengdihai 的回复:
xxx是啥
说错了,是arch/${ARCH}/mach-XXX/include中的XXX 每个架构下又分不同机器,表示架构的宏ARCH我在内核根目录的Makefile中找到了, 现在就是不知道表示哪个机器的宏的名字,以及定义的位置
cocoabird 2016-11-23
  • 打赏
  • 举报
回复
xxx是啥

1,324

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧