dm368内核编译问题

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  编译通过,并可正常使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值