欢迎来到天天文库
浏览记录
ID:14239368
大小:4.17 MB
页数:62页
时间:2018-07-27
《uboot内核移植和裁剪详细步骤》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、-U-boot内核移植步骤:Linux3.3.5系统移植1.将arch/arm/mach-s3c6410/下的,mach-smdk6410.ccp为mach-my6410.c;2.打开arch/arm/mach-s3c6410/下的Kconfig,仿照MACH_SMDK6410做一个菜单项:configMACH_MY6410 bool"MY6410" selectCPU_S3C6410 selectSAMSUNG_DEV_ADC selectS3C_DEV_HSMMC selectS3C_DEV_HSMMC
2、1 selectS3C_DEV_I2C1 selectSAMSUNG_DEV_IDE selectS3C_DEV_FB selectS3C_DEV_RTC selectSAMSUNG_DEV_TS selectS3C_DEV_USB_HOST selectS3C_DEV_USB_HSOTG selectS3C_DEV_WDT selectSAMSUNG_DEV_BACKLIGHT selectSAMSUNG_DEV_KEYPAD selectSAMSUNG_DEV_PWM
3、 selectHAVE_S3C2410_WATCHDOGifWATCHDOG selectS3C64XX_SETUP_SDHCI selectS3C64XX_SETUP_I2C1 selectS3C64XX_SETUP_IDE selectS3C64XX_SETUP_FB_24BPP selectS3C64XX_SETUP_KEYPAD help MachinesupportforthePillarMY64103.打开arch/arm/tools/mach-types文件,这里面存的是机器
4、ID必须要和uboot里面的ID保持一致,将其283行复制添加在后面并修改为:smdk6410 MACH_SMDK6410 SMDK6410 1626xx6410 MACH_XX6410 XX6410 1626这个机器ID和UBOOT里的机器ID相同时才能启动内核;1.修改BSP文件mach-my6410.c,内容如下:将mach-mach-my6410.c文件中的所有smdk6410改成my6410(不要改大写SMDK6410的)MACHINE_START(MY6410,"MY6410"
5、)//这个要和Kconfig里的MACH-MY6410匹配 2.在当前目录的Makefile最后一行加上obj-$(CONFIG_MACH_MY6410) +=mach-my6410.o3. 修改顶层的Makefile: ARCH?=arm CROSS_COMPILE?=/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-4.复制arch/arm/configs/下的s3c6400-defconfig文件,然后将其保存为.config,配置内核支持EABI,再选中XX6410board这一项,保存退出
6、;5.执行makemenuconfig对内核进行配置:执行make编译执行makezImage生成zImage将uboot根目录下的mkimage拷贝到/user/bin目录下执行makeuImage生成uImage通过以上几步linux内核移植完了,剩下就移植驱动了。这里需要注意,每一次修改Kconfig文件都需要makemenuconfig对内核进行配置。 LED驱动移植1.Linu内核下drivers/leds/ledsgpio.c实现了一个体系结构无关的GPIOLED驱动,使用此LED驱动,开发者不需要修改一行代码,只需要在B
7、SP的板文件(对于OK6410为arch/arm/machs3c6410/machmy6410.c)中定义相关的platform设备和数据。在MY6410开发板上,GPM0~GPM3实现了四个LED,因此其对应的platform信息如下:arch/arm/machs3c6410/machmy6410.c:staticstructgpio_ledmy6410_leds[]={ [0]={ .name="LED1", .gpio=S3C64XX_GPM(0), }, [1]={
8、 .name="LED2", .gpio=S3C64XX_GPM(1), }, [2]={ .name="LED3", .gpio=
此文档下载收益归作者所有