打印
[i.MX]

怎样修改内核配置,让内核在定制的开发板上跑起来??

[复制链接]
4212|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
深渊|  楼主 | 2015-6-30 20:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!
我现在手里有一块公司制作的开发板,相对与官方的板子来说,原理图的改动比较大,我需要怎样修改内核让内核能够适配当前的板子?

相关帖子

沙发
mini1986| | 2015-7-1 08:26 | 只看该作者
如果ddr换了,首先你的驱动ddr......uboot跑起来之后,根据修改的原理图去修改内核代码,慢慢来吧......

使用特权

评论回复
板凳
深渊|  楼主 | 2015-7-1 11:31 | 只看该作者
本帖最后由 深渊 于 2015-7-1 11:33 编辑
mini1986 发表于 2015-7-1 08:26
如果ddr换了,首先你的驱动ddr......uboot跑起来之后,根据修改的原理图去修改内核代码,慢慢来吧...... ...

谢谢您回复我的帖子,我现在没有修改内核的任何的信息,内核能在官方的的demo板上跑起来,在自己的板子上U-boot起来后,会自动重新启动,请问这是正常的么?我将接下来应该怎么做?我不确定uboot修改正确了,还有内核修改能说说具体流程吗?我是新手,对很多概念还不太清楚,先谢谢高手了
U-Boot 2009.08 (Jun 23 2015 - 20:16:32)

CPU: Freescale i.MX6 family TO1.5 at 792 MHz
Thermal sensor with ratio = 183
Temperature:   25 C, calibration data 0x5874ed69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
Boot Device: SD
I2C:   ready
DRAM:   2 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
In:    serial
Out:   serial
Err:   serial
i2c: I2C1 SDA is low, start i2c recovery...
I2C1 Recovery success
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:  0
mmc2 is current device

MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 ...
    Image Name:   Linux-3.0.35-2666-gbdde708
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    3866412 Bytes =  3.7 MB
    Load Address: 10008000
    Entry Point:  10008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2666-gbdde708 (lhs@ubuntu) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #6 SMP PREEMPT Thu Jun 4 23:02:29 PDT 2015
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, unknown revision
PERCPU: Embedded 7 pages/cpu @8c80e000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 454656
Kernel command line: console=ttymxc0,115200 ip=192.168.1.103 root=/dev/mmcblk1p1 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 512MB 1280MB = 1792MB total
Memory: 1805356k/1805356k available, 291796k reserved, 360448K highmem
Virtual kernel memory layout:
     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
     DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
     vmalloc : 0xea800000 - 0xf2000000   ( 120 MB)
     lowmem  : 0x80000000 - 0xea000000   (1696 MB)
     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
       .init : 0x80008000 - 0x8003c000   ( 208 kB)
       .text : 0x8003c000 - 0x80a8f8f4   (10575 kB)
       .data : 0x80a90000 - 0x80af3e40   ( 400 kB)
        .bss : 0x80af3e64 - 0x80b41d8c   ( 312 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=1.2GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal
//到达这一步就uboot就自动重启了

U-Boot 2009.08 (Jun 23 2015 - 20:16:32)

CPU: Freescale i.MX6 family TO1.5 at 792 MHz
Thermal sensor with ratio = 183
Temperature:   32 C, calibration data 0x5874ed69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
Boot Device: SD
I2C:   ready
DRAM:   2 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:  0
mmc2 is current device

MMC read: dev # 2, block # 2048, count 8192 ... 8192 blocks read: OK
## Booting kernel from Legacy Image at 10800000 ...
    Image Name:   Linux-3.0.35-2666-gbdde708
    Image Type:   ARM Linux Kernel Image (uncompressed)
    Data Size:    3866412 Bytes =  3.7 MB
    Load Address: 10008000
    Entry Point:  10008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Linux version 3.0.35-2666-gbdde708 (lhs@ubuntu) (gcc version 4.6.2 20110630 (prerelease) (Freescale MAD -- Linaro 2011.07 -- Built at 2011/08/10 09:20) ) #6 SMP PREEMPT Thu Jun 4 23:02:29 PDT 2015
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, unknown revision
PERCPU: Embedded 7 pages/cpu @8c80e000 s5440 r8192 d15040 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 454656
Kernel command line: console=ttymxc0,115200 ip=192.168.1.103 root=/dev/mmcblk1p1 rootwait rw
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 262144 (order: 8, 1048576 bytes)
Inode-cache hash table entries: 131072 (order: 7, 524288 bytes)
Memory: 512MB 1280MB = 1792MB total
Memory: 1805356k/1805356k available, 291796k reserved, 360448K highmem
Virtual kernel memory layout:
     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
     DMA     : 0xf4600000 - 0xffe00000   ( 184 MB)
     vmalloc : 0xea800000 - 0xf2000000   ( 120 MB)
     lowmem  : 0x80000000 - 0xea000000   (1696 MB)
     pkmap   : 0x7fe00000 - 0x80000000   (   2 MB)
     modules : 0x7f000000 - 0x7fe00000   (  14 MB)
       .init : 0x80008000 - 0x8003c000   ( 208 kB)
       .text : 0x8003c000 - 0x80a8f8f4   (10575 kB)
       .data : 0x80a90000 - 0x80af3e40   ( 400 kB)
        .bss : 0x80af3e64 - 0x80b41d8c   ( 312 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=1.2GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
CPU2: Booted secondary processor
CPU3: Booted secondary processor
Brought up 4 CPUs
SMP: Total of 4 processors activated (6324.22 BogoMIPS).
print_constraints: dummy:
NET: Registered protocol family 16
print_constraints: vddpu: 725 <--> 1300 mV at 700 mV fast normal
print_constraints: vddcore: 725 <--> 1300 mV at 1150 mV fast normal
print_constraints: vddsoc: 725 <--> 1300 mV at 1200 mV fast normal
print_constraints: vdd2p5: 2000 <--> 2775 mV at 2400 mV fast normal
print_constraints: vdd1p1: 800 <--> 1400 mV at 1100 mV fast normal
print_constraints: vdd3p0: 2625 <--> 3400 mV at 3000 mV fast normal


U-Boot 2009.08 (Jun 23 2015 - 20:16:32)

CPU: Freescale i.MX6 family TO1.5 at 792 MHz
Thermal sensor with ratio = 183
Temperature:   35 C, calibration data 0x5874ed69
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
cspi clock    : 60000000Hz
ahb clock     : 132000000Hz
axi clock   : 264000000Hz
emi_slow clock: 132000000Hz
ddr clock     : 528000000Hz
usdhc1 clock  : 198000000Hz
usdhc2 clock  : 198000000Hz
usdhc3 clock  : 198000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63015 [POR ]
Boot Device: SD
I2C:   ready
DRAM:   2 GB
MMC:   FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:  0
MX6Q SABRESD U-Boot >
MX6Q SABRESD U-Boot >
MX6Q SABRESD U-Boot >

使用特权

评论回复
地板
mini1986| | 2015-7-1 12:18 | 只看该作者
深渊 发表于 2015-7-1 11:31
谢谢您回复我的帖子,我现在没有修改内核的任何的信息,内核能在官方的的demo板上跑起来,在自己的板子上U ...

内核在官方的demo上跑起来,那很正常的,毕竟内核是针对官方的demo发布的。uboot能在你的板子上跑起来,内存应该是问题不大,接下来你就要根据你们的板子和官方的板子的差别来修改内核了......

使用特权

评论回复
5
深渊|  楼主 | 2015-7-1 13:30 | 只看该作者
mini1986 发表于 2015-7-1 12:18
内核在官方的demo上跑起来,那很正常的,毕竟内核是针对官方的demo发布的。uboot能在你的板子上跑起来, ...

额,可不可以详细点,具体点,高手你有这方面的资料吗?我在网上收不到啊,怎么回事?

使用特权

评论回复
6
mini1986| | 2015-7-1 14:45 | 只看该作者
深渊 发表于 2015-7-1 13:30
额,可不可以详细点,具体点,高手你有这方面的资料吗?我在网上收不到啊,怎么回事?
...

详细点就成了,我帮你去移植board的驱动了......不是几句话能搞定的......

使用特权

评论回复
7
FSL_TICS_Rita| | 2015-7-1 15:19 | 只看该作者
楼主你好,你这里是你们自己设计的板子,你要知道你们的板子相对飞思卡尔的开发板做了哪些改动,从而来配置内核和u-boot。首先要做的工作就是根据你们自己设计的板子来移植该板子的BSP。这里我不知道你们具体做了哪些改动,只能给你提供一些参考性的建议和思路。看着你内核启动的内容,感觉你应该是使用的L3.0.35_4.1.0_130816_source版本的BSP,这里移植的话你可以参考我们官网提供的文档:
i.MX_6Dual6Quad_BSP_Porting_Guide.pdf
还有文档:
i.MX_6Dual6Quad_Linux_Reference_Manual.pdf
该文档是介绍linux BSP 的架构对你理解和移植BSP有一定的帮助。
i.MX_6Dual6Quad_BSP_Porting_Guide.pdf (719.5 KB)
i.MX_6Dual6Quad_Linux_Reference_Manual.zip (1.55 MB)

使用特权

评论回复
8
FSL_TICS_Rita| | 2015-7-1 15:21 | 只看该作者
深渊 发表于 2015-7-1 11:31
谢谢您回复我的帖子,我现在没有修改内核的任何的信息,内核能在官方的的demo板上跑起来,在自己的板子上U ...

由于你的板子设计和官网的开发板是不一样的,官网提供的BSP 也仅仅是在开发板上可以直接使用的,你自己设计的板子你需要自己做移植然后编译后才可以在你自己的板子上跑的。建议你先做移植。

使用特权

评论回复
9
FSL_TICS_Rita| | 2015-7-1 16:36 | 只看该作者
6楼朋友说的是,移植不是几句话就能搞定的。

使用特权

评论回复
10
深渊|  楼主 | 2015-7-1 17:45 | 只看该作者
FSL_TICS_Rita 发表于 2015-7-1 16:36
6楼朋友说的是,移植不是几句话就能搞定的。

那就能说多少说多少,给我个大概的思路吧,因为公司就我一个人干这个,我现在是摸着石头过河,处处是坑啊,也没人教我,给了一块板子给我,叫我让它跑起来,我也是没法了,希望大家帮帮忙,多说点吧,跪求各位大神金口一开

使用特权

评论回复
11
qiubati| | 2015-7-2 17:38 | 只看该作者
兄弟辛苦了啊。。我们这都是一个团队在做。公司保密哈。你做音频这块,他做视频这块,还有人做网卡啊什么的。要找硬件的同事配合,看信号跑哪里正常。

使用特权

评论回复
12
lovecat2015| | 2015-7-2 21:29 | 只看该作者
如果改动比较大的话,那需要改的就比较多了

使用特权

评论回复
13
FSL_TICS_Rita| | 2015-7-7 10:26 | 只看该作者
深渊 发表于 2015-7-1 17:45
那就能说多少说多少,给我个大概的思路吧,因为公司就我一个人干这个,我现在是摸着石头过河,处处是坑啊 ...

楼主你好,你这里可以先看一下我7楼给你的文档,对你应该会有帮助。如果你没有做过移植,第一次做的话应该不是那么容易的,你要根据你的硬件设计来移植。

使用特权

评论回复
14
FSL_TICS_Rita| | 2015-7-7 15:45 | 只看该作者
非常感谢你关于i.mx 的技术问题。如果你没有其他问题,我们将此帖默认为已解决。
如果没有欢迎继续在这里讨论交流哈~~

使用特权

评论回复
15
lovecat2015| | 2015-7-8 08:40 | 只看该作者
你看看你的改动大不大,和以前的区别有哪些

使用特权

评论回复
16
深渊|  楼主 | 2015-7-9 11:47 | 只看该作者
lovecat2015 发表于 2015-7-8 08:40
你看看你的改动大不大,和以前的区别有哪些

改动还是有些大,不过好像板子发现有点问题,电压小了,四核起不来

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

34

帖子

1

粉丝