编译成功了,运行为什么会失败_如何编译内核
1:首先在内核文件夹当中选择编译配置文件
arch/arm/configs下选则davinci_dm368_ipnc_defconfig_nand(nandflash启动),davinci_dm368_ipnc_defconfig_nfs(nfs文件系统启动)
2:make menuconfig
保存退出
3:make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage
直接编译过程中
出现No rule to make target `drivers/char/csl.o’, needed by `drivers/char/built-in.o’. Stop.
查看char目录下并无csl.c文件,所以必须把当前目录下的makefile中的编译项去掉
obj-y += csl.o obj-y += drv.o obj-y += edmak.o obj-y += irqk.o obj-y += dm365mmap.o obj-y += cmemk.o
以上所列的文件都不存在,所以都要屏蔽掉。
出现的错误如下::::
如果选用
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-gcc uImage
则会出现drivers/net/davinci_emac.c: In function ’emac_enable_channel’: drivers/net/davinci_emac.c:4626:5: error: lvalue required as left operand of assignment drivers/net/davinci_emac.c:4637:5: error: lvalue required as left operand of assignment drivers/net/davinci_emac.c: In function ’emac_disable_channel’: drivers/net/davinci_emac.c:4703:5: error: lvalue required as left operand of assignment drivers/net/davinci_emac.c: In function ’emac_pkt_process’: drivers/net/davinci_emac.c:5262:8: error: lvalue required as left operand of assignment
((volatile struct ewrap_dm646x_regs)dev-> ewrap_regs->wrapper_646x_regs). C0_RXINTEN = (1 << channel);也就是提示左边的值不是合法的操作变量。
在查看ewrap_dm646x_regs为寄存器的变量,所以想到可能是选择的交叉编译工具链有问题。
就选用make ARCH=arm CROSS_COMPILE=arm_v5t_le- uImage 编译通过,并可正常使用
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170243.html原文链接:https://javaforall.cn
相关文章
- ubuntu18.04更新内核_如何查看linux系统内核版本
- Linux内核的整体架构
- linux内核发包工具,Linux内核发包工具pktgen测试方案说明「建议收藏」
- Linux 内核调试和性能优化框架
- 如何在Ubuntu 22.04上安装Linux 内核 6.0?
- 驱动开发:内核MDL读写进程内存
- 深入分析Linux内核源代码阅读笔记 第四章、第五章
- 探索Linux内核修改之路(linux如何修改内核)
- OneStep Guide:编译Linux 内核(如何编译linux内核)
- 深入Linux:查看内核版本(如何查看linux内核版本)
- cpu探查Linux内核:查看CPU使用情况(linuxcore查看)
- 深入Linux内核:编写自己的Linux内核(linux写内核)
- Linux内核深度分析:日志背后的奥秘(linux内核日志)
- 如何在Ubuntu和Derivatives上安装内核4.11
- Linux内核调度系统:优化提升性能(linux调度系统)
- 深入Linux内核:构建与调试源码(linux源码调试)
- Linux内核启动之路:探秘操作系统运行的奥秘(linux内核如何启动)
- 深入浅出:如何检查Linux内核版本(怎么看linux内核版本)
- Linux如何获取内核源码?(linux获取内核源码)
- 内核如何管理内存
- 如何编译 Linux 内核
- 学习如何向Linux内核贡献代码,接受Eudyptula挑战
- 查找 Linux 发行版名称、版本和内核详细信息
- Ubuntu 14.10将使用更新Linux内核3.16.4
- 内核探索 Linux 内核的深度之旅(深入linux)
- MySQL 内核优化:提升数据处理性能(mysql内核优化)
- 如何在 Linux 上查看内核线程:简单易懂的指南(linux查看内核线程)
- Linux内核之美:链表表现力(linux内核链表)
- Linux内核移植的技巧与方法(如何移植linux内核)
- Linux内核:如何处理中断(linux 内核中断处理)
- Linux 内核下如何打印当前时间(linux内核打印时间)
- 版本如何查看Linux内核版本?(怎么查看linux内核)
- 判断浏览器的内核及版本号方法汇总