移除linux内核中dm9000驱动+编译uboot

本文介绍了一种在6410平台上实现ARM与DSP间通信的方法。作者因以太网口占用HPI引脚的问题,尝试卸载DM9000驱动并自行编写HPI驱动。过程中遇到诸多挑战,包括重新编译内核和U-Boot等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为涉及到ARM和DSP之间的通信,查阅了许多资料,多数是通过HPI接口,但是6410有没有专用的HPI驱动,于是只能自己编写,看了芯片手册和相关资料,最终采用的方案发现HPI所用的那些引脚被以太网口占用了,受条件限制只能把DM9000的驱动卸载掉,编写hpi驱动加载进去,导致的后果是之前配置的nfs没法用了,拷贝程序只能通过sd卡,后来尝试过把dm9000驱动编译成模块,动态加载卸载,在试的过程中出现很多错误,由于时间因素遂放弃。


废话说了一堆,下面是正文:

将内核根目录下的config_mini6410_a70文件中,修改其中关于dm9000的两行为

CONFIG_DM9000=n

#CONFIG_DM9000_DEBUGLEVEL=4

然后cp config_mini6410_n43 .confi

接着make zImage 就可以在arch/arm/boot 目录下生成 linux 内核映象文件 zImage

拷贝到sd卡的image文件夹下,并修改.ini文件,然后烧入开发板

 

由于在insmod my_hpi.ko时,查看 cat /proc/iomem 发现内存映射地址并非如DM9000一样映射在0x18000000起始,所以想尝试移除uboot中的dm9000驱动,试了很久发现编译不通过,遂放弃,此处用于记录对uboot的修改之处

 

拷贝光盘文件下的A中的linux文件夹下的u-boot-mini6410-XXXX,到ubuntu 的root文件夹下解压,进入目录root/u-boot-mini6410/board/samsung/mini6410/ 对文件mini6410.c

的board_init函数,注释其中dm9000_pre_init()

在根目录下

#make mini6410_nand_config-ram256 ;生成配置文件
#make ;开始编译

将生成的uboot.bin拷贝到sd卡的image文件夹下,并修改.ini文件,然后烧入开发板即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值