7669
- 收藏
- 点赞
- 分享
- 举报
编译 Hi3536 uImage
本帖最后由 quaver23 于 2016-11-14 17:54 编辑
(1) 请教各位前辈,我根据海思里的 instructions, 编译了一个新的 uImage. 基本上在[osdrv] 和 [Linux-3.10.y] 做了一下的动作:
(i) Clear all compiled files under osdrv directory:
make OSDRV_CROSS=arm-hisiv400-linux clean
(ii) Completely remove all compiled files under osdrv directory, and the generated images:
make OSDRV_CROSS=arm-hisiv400-linux distclean
(iii)Separately compile kernel:
Enter the top directory the kernel source code, do the following:
cp arch/arm/configs/hi3536_full_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- uImage
(2) 然后再将以上编译好的uImage, 连同海思编译好的 bootloader 及 yaffs2 filesystem, 通过海思提供的 HiTool , 全部烧写进 NAND flash.
(3) 以下是烧写之后,在Putty terminal 运行的命令,但最终不能启动Linux, 在 bio: create slab at 0 卡住了:
hisilicon # setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),233M(rootfs)'
hisilicon # setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'
hisilicon # sa
Saving Environment to NAND...
Erasing Nand...
Erasing at 0xa0000 -- 100% complete.
Writing to Nand... done
hisilicon # reset
resetting ...
U-Boot 2010.06 (Dec 25 2015 - 18:31:44)
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)"
Check Nand Flash Controller v610 ... found
Special NAND id table Version 1.36
Nand ID: 0x01 0xDA 0x90 0x95 0x44 0x01 0xDA 0x90
Block:128KB Page:2KB Chip:256MB*1 OOB:64B ECC:4bit/512
Nand total size: 256MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x100000, size 0x400000
4194304 bytes read: OK
## Booting kernel from Legacy Image at 42000000 ...
Image Name: Linux-3.10.0_hi3536
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3963576 Bytes = 3.8 MiB
Load Address: 40008000
Entry Point: 40008000
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0_hi3536 (aa@aa) (gcc version 4.8.3 20131202 (prerelease) (Hi silicon_v400) ) #1 SMP Mon Nov 14 17:20:41 SGT 2016
CPU: ARMv7 Processor [411fc0e1] revision 1 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: hi3536
Truncating memory at 0x40000000 to fit in 32-bit physical address space
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @c088a000 s8448 r8192 d16128 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfst ype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),233M(rootfs)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 122088k/122088k available, 8984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc06eff6c (7072 kB)
.init : 0xc06f0000 - 0xc0720100 ( 193 kB)
.data : 0xc0722000 - 0xc075d800 ( 238 kB)
.bss : 0xc075d800 - 0xc078628c ( 163 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:160
sched_clock: 32 bits at 125MHz, resolution 8ns, wraps every 34359ms
Console: colour dummy device 80x30
Calibrating delay loop... 2786.91 BogoMIPS (lpj=13934592)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys freezer
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0xc05489a8 - 0xc0548a00
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (11167.33 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
Serial: AMBA PL011 UART driver
uart:0: ttyAMA0 at MMIO 0x12080000 (irq = 38) is a PL011 rev2
console [ttyAMA0] enabled
uart:1: ttyAMA1 at MMIO 0x12090000 (irq = 39) is a PL011 rev2
bio: create slab at 0
(1) 请教各位前辈,我根据海思里的 instructions, 编译了一个新的 uImage. 基本上在[osdrv] 和 [Linux-3.10.y] 做了一下的动作:
(i) Clear all compiled files under osdrv directory:
make OSDRV_CROSS=arm-hisiv400-linux clean
(ii) Completely remove all compiled files under osdrv directory, and the generated images:
make OSDRV_CROSS=arm-hisiv400-linux distclean
(iii)Separately compile kernel:
Enter the top directory the kernel source code, do the following:
cp arch/arm/configs/hi3536_full_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- uImage
(2) 然后再将以上编译好的uImage, 连同海思编译好的 bootloader 及 yaffs2 filesystem, 通过海思提供的 HiTool , 全部烧写进 NAND flash.
(3) 以下是烧写之后,在Putty terminal 运行的命令,但最终不能启动Linux, 在 bio: create slab
hisilicon # setenv bootargs 'mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),233M(rootfs)'
hisilicon # setenv bootcmd 'nand read 0x42000000 0x100000 0x400000;bootm 0x42000000'
hisilicon # sa
Saving Environment to NAND...
Erasing Nand...
Erasing at 0xa0000 -- 100% complete.
Writing to Nand... done
hisilicon # reset
resetting ...
U-Boot 2010.06 (Dec 25 2015 - 18:31:44)
Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L(256/257)35(E/F)"
Check Nand Flash Controller v610 ... found
Special NAND id table Version 1.36
Nand ID: 0x01 0xDA 0x90 0x95 0x44 0x01 0xDA 0x90
Block:128KB Page:2KB Chip:256MB*1 OOB:64B ECC:4bit/512
Nand total size: 256MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
NAND read: device 0 offset 0x100000, size 0x400000
4194304 bytes read: OK
## Booting kernel from Legacy Image at 42000000 ...
Image Name: Linux-3.10.0_hi3536
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3963576 Bytes = 3.8 MiB
Load Address: 40008000
Entry Point: 40008000
Loading Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 3.10.0_hi3536 (aa@aa) (gcc version 4.8.3 20131202 (prerelease) (Hi silicon_v400) ) #1 SMP Mon Nov 14 17:20:41 SGT 2016
CPU: ARMv7 Processor [411fc0e1] revision 1 (ARMv7), cr=10c53c7d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: hi3536
Truncating memory at 0x40000000 to fit in 32-bit physical address space
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @c088a000 s8448 r8192 d16128 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
Kernel command line: mem=128M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfst ype=yaffs2 mtdparts=hinand:1M(boot),4M(kernel),233M(rootfs)
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 128MB = 128MB total
Memory: 122088k/122088k available, 8984k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc8800000 - 0xff000000 ( 872 MB)
lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc06eff6c (7072 kB)
.init : 0xc06f0000 - 0xc0720100 ( 193 kB)
.data : 0xc0722000 - 0xc075d800 ( 238 kB)
.bss : 0xc075d800 - 0xc078628c ( 163 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:160
sched_clock: 32 bits at 125MHz, resolution 8ns, wraps every 34359ms
Console: colour dummy device 80x30
Calibrating delay loop... 2786.91 BogoMIPS (lpj=13934592)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys freezer
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0xc05489a8 - 0xc0548a00
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU2: Booted secondary processor
CPU2: thread -1, cpu 2, socket 0, mpidr 80000002
CPU3: Booted secondary processor
CPU3: thread -1, cpu 3, socket 0, mpidr 80000003
Brought up 4 CPUs
SMP: Total of 4 processors activated (11167.33 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
regulator-dummy: no parameters
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
Serial: AMBA PL011 UART driver
uart:0: ttyAMA0 at MMIO 0x12080000 (irq = 38) is a PL011 rev2
console [ttyAMA0] enabled
uart:1: ttyAMA1 at MMIO 0x12090000 (irq = 39) is a PL011 rev2
bio: create slab
我来回答
回答3个
时间排序
认可量排序
认可0
认可0
认可0
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币
Markdown 语法
- 加粗**内容**
- 斜体*内容*
- 删除线~~内容~~
- 引用> 引用内容
- 代码`代码`
- 代码块```编程语言↵代码```
- 链接[链接标题](url)
- 无序列表- 内容
- 有序列表1. 内容
- 缩进内容
- 图片![alt](url)
相关问答
-
2018-03-26 18:02:08
-
2017-10-12 15:46:08
-
2017-10-12 14:55:58
-
2016-06-14 16:34:53
-
2016-09-15 17:56:40
-
2017-07-13 10:52:42
-
2016-05-16 14:13:03
-
2016-10-11 16:41:50
-
2016-09-02 17:24:50
-
12016-08-03 17:26:24
-
22017-03-06 10:54:20
-
42016-06-24 13:14:19
-
132016-07-21 20:11:38
-
2018-01-02 17:51:02
-
2016-11-16 09:39:51
-
2016-09-27 12:05:53
-
2016-09-01 11:42:18
-
2017-01-04 13:17:10
-
2017-09-05 09:59:52
无更多相似问答 去提问
点击登录
-- 积分
-- E币
提问
—
收益
—
被采纳
—
我要提问
切换马甲
上一页
下一页
悬赏问答
-
5Hi3516CV610 如何使用SD卡升级固件
-
5cat /dev/logmpp 报错 <3>[ vi] [func]:vi_send_frame_node [line]:99 [info]:vi pic queue is full!
-
50如何获取vpss chn的图像修改后发送至vo
-
5FPGA通过Bt1120传YUV422数据过来,vi接收不到数据——3516dv500
-
50SS928 运行PQtools 拼接 推到设备里有一半画面会异常
-
53536AV100的sample_vdec输出到CVBS显示
-
10海思板子mpp怎么在vi阶段改变视频数据尺寸
-
10HI3559AV100 多摄像头同步模式
-
9海思ss928单路摄像头vio中加入opencv处理并显示
-
10EB-RV1126-BC-191板子运行自己编码的程序
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
提醒
你的问题还没有最佳答案,是否结题,结题后将扣除20%的悬赏金
取消
确认
提醒
你的问题还没有最佳答案,是否结题,结题后将根据回答情况扣除相应悬赏金(1回答=1E币)
取消
确认