您的位置:首页 > 运维架构 > Linux

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

2016-03-03 12:27 489 查看
因为涉及到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文件,然后烧入开发板即可
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: