单片机
返回首页

kernel 2.6.35.7向S5PV210移植

2024-12-27 来源:cnblogs

ARCH和CROSS_COMPILE配置

  不详述,改就对了。


错误1

  未出现Uncompressing Linux... done, booting the kernel.。

  解压地址应当等于链接地址,否则自解压之后不可运行。

  链接的物理地址可以在head.S的开头看到。那么解压缩地址在哪呢?


// 内核运行的虚拟地址 0xC0008000

#define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET)

// 内核运行的物理地址 0x30008000

#define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET)

  arch/arm/mach-s5pv210/Makefile.boot其中定义了解压缩地址。


# override for SMDKV210

zreladdr-$(CONFIG_MACH_SMDKV210) := 0x30008000

params_phys-$(CONFIG_MACH_SMDKV210) := 0x30000100

  改为如上。改完之后,就可以运行解压缩了。

  之后再修改内核运行的物理地址(原本PHYS_OFFEST是0x2000_0000)为0x3000_0000


错误2

Unable to handle kernel NULL pointer dereference at virtual address 00000060

Internal error: Oops: 5 [#1] PREEMPT

PC is at dev_driver_string+0xc/0x44

LR is at max8698_pmic_probe+0x150/0x32c

  说明在这两个函数出现了问题。考虑到之前uboot移植中,smdkc110使用了电源管理模块,那么这里也可以推测是电源管理模块出现了问题。

  解决办法就是在内核配置中去除该模块。直接在MENUCONFIG中搜索MAX8696,关掉就可以。


错误3

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

  panic应该是一个比较严重的错误。说白了就是没识别块设备。这里的识别应当就是inand。这里应当是驱动的问题。

  MBR往往在SD0扇区。用于描述块设备分区信息。这里不好修改。


错误4

[    1.130308] dm9000 Ethernet Driver, V1.31

[    1.133113] ERROR : resetting 

[    1.135700] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.140915] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.145941] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.150963] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.155992] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.161018] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.166041] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.171070] dm9000 dm9000.0: read wrong id 0x2b2a2928

[    1.176092] dm9000 dm9000.0: wrong id: 0x2b2a2928

[    1.180774] dm9000 dm9000.0: not found (-19).

  mach-smdkc110.c中smdkc110_machine_init硬件初始化存在问题。

  smdkc110_devices和smdkc110_dm9000_set()这两个地方是和DM9000有关的,要分别去做移植。

  DM9000相关的数据配置在arch/arm/plat-s5p/devs.c中更改

  在arch/arm/mach-s5pv210/include/mach/map.h中定义了DM9000的IO基地址,和DM9000接在哪个bank有关。

  还有+2改成+4,IRQ_EINT9改成10即可。


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦线性调频增强器

  • 家用电器遥控器

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • DS1669数字电位器

  • HA1377 桥式放大器 BCL 电容 17W(汽车音频)

    相关电子头条文章