电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

linux-2.6.36.4移植到TQ

22页
  • 卖家[上传人]:re****.1
  • 文档编号:478137726
  • 上传时间:2023-10-09
  • 文档格式:DOC
  • 文档大小:354KB
  • / 22 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、一、 内核配置和编译1 修改顶层MakefileARCH?= armCROSS_COMPILE?= arm-linux-根据自己的环境修改交叉编译器前缀2 修改arch/arm/boot/Makefile 增加一行echo Kernel: $ is readycp $ /tftpboot/根据自己的ftp服务器目录修改3 匹配机器码1) 启动u-boot执行bdinfo将输出开发板的相关信息,包括机器码TQ2440 # bdarch_number = 0x0000016A机器码362boot_params = 0x30000100DRAM bank = 0x00000000- start = 0x30000000- size = 0x04000000ethaddr = 00:01:02:03:04:05baudrate = 115200 bpsTLB addr = 0x33FF0000relocaddr = 0x33F40000reloc off = 0x33F40000irq_sp = 0x33B2FF68sp start = 0x33B2FF58FB base = 0x000000

      2、00TQ2440 # 2) 新版u-boot可以设置环境变量machid来更改机器码TQ2440 # set machid 0x16A3) 内核机器码:arch/arm/mach-s3c2440/mach-smdk2440.c MACHINE_START(S3C2440, SMDK2440)其中的S3C2440即为机器码再查看arch/arm/tools/mach-types 第379行即为S3C2440所对应的机器码362,必须和u-boot的机器码相同,否则没法启动内核4 修改系统时钟arch/arm/mach-s3c2440/mach-smdk2440.c 我们的开发板使用12MHZs3c24xx_init_clocks(12000000);5 执行默认配置rootzjh:/home/work/linux-2.6.36.4# make s3c2410_defconfig6 配置内核rootzjh:/home/work/linux-2.6.36.4# make menuconfigKernel Features - * Use the ARM EABI to compile the

      3、 kernel * Allow old ABI binaries to run with this kernel (EXPERIMENTAL) 注:使用 4.X.X 版本的交叉编译器一定要选中以上两项,否则会出现Kernel panic - not syncing: Attempted to kill init! 这样的错误以致没法启动内核System Type - S3C2440 and S3C2442 Machines - * SMDK2440* SMDK2440 with S3C2440 CPU module 只选中这两项即可,其他的Machine都取消7 编译内核rootzjh:/home/work/linux-2.6.36.4# make zImage OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is readyCreated: Wed Oct 17 12:42:19 2012Image Type: ARM Linux Kernel Image (uncompressed)Data Size: 20759

      4、44 Bytes = 2027.29 kB = 1.98 MBLoad Address: 30008000Entry Point: 300080008 启动u-boot,执行如下操作TQ2440 # tftp 30000000 uImageTQ2440 # bootm 30000000# Booting image at 30000000 . Created: 2012-10-17 4:33:02 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 2075944 Bytes = 2 MB Load Address: 30008000 Entry Point: 30008000 Verifying Checksum . OK XIP Kernel Image . OKStarting kernel .Uncompressing Linux. done, booting the kernel.Linux version 2.6.36.4 (rootzjh) (gcc version 4.4.3 (ctng-1.

      5、6.1) ) #4 Wed Oct 17 12:32:51 CST 2012CPU: ARM920T 41129200 revision 0 (ARMv4T), cr=c0007177CPU: VIVT data cache, VIVT instruction cacheMachine: SMDK2440Memory policy: ECC disabled, Data cache writebackCPU S3C2440A (id 0x32440001)S3C24XX Clocks, Copyright 2004 Simtec ElectronicsS3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz二、 DM9000网卡驱动移植1 修改arch/arm/mach-s3c2440/mach-smdk2440.c,构建DM9000平台设备#include #define MACH_TQ2440_DM9K_BASE (S3C2410_CS4 + 0x300)/* support DM9000 */stat

      6、ic struct resource TQ2440_dm9k_resource = 0 = .start = MACH_TQ2440_DM9K_BASE,.end = MACH_TQ2440_DM9K_BASE + 3,.flags = IORESOURCE_MEM,1 = .start = MACH_TQ2440_DM9K_BASE + 4,.end = MACH_TQ2440_DM9K_BASE + 7,.flags = IORESOURCE_MEM,2 = .start = IRQ_EINT7,.end = IRQ_EINT7,.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHEDGE,;/* * The DM9000 has no eeprom, and set its MAC address */static struct dm9000_plat_data TQ2440_dm9k_pdata = .flags= (DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),.dev_addr = x

      7、00x11x22x33x44x66,;static struct platform_device TQ2440_device_eth = .name= dm9000,.id= -1,.num_resources= ARRAY_SIZE(TQ2440_dm9k_resource),.resource= TQ2440_dm9k_resource,.dev= .platform_data= &TQ2440_dm9k_pdata,;smdk2440_devices结构体数组添加如下代码&TQ2440_device_eth2 修改drivers/net/ethernet/davicom/dm9000.c第44行加入如下代码#include dm9000.h#if defined(CONFIG_ARCH_S3C2440) #include #endif第1375行加入如下代码u32 id_val;#if defined(CONFIG_ARCH_S3C2440) unsigned int oldval_bwscon = *(volatile unsigned int *)S3C2410_BWSCON; unsigned int oldval_bankcon4 = *(volatile unsigned int *)S3C2410_BANKCON4; #endif /* Init network device */第1387行加入如下代码dev_dbg(&pdev-dev, dm9000_probe()n);#if defined(CONFIG_ARCH_S3C2440)/* 设置Bank4:总线宽度为16,使能nWAIT */ *(volatile unsigned int *)S3C2410_BWSCON) = (oldval_bwscon & (3 Networking options - Packet socket Unix domain socket* TCP/IP networking* IP:

      《linux-2.6.36.4移植到TQ》由会员re****.1分享,可在线阅读,更多相关《linux-2.6.36.4移植到TQ》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.