你好,igorpadykov
我先修改如下还是不行:
我的软件环境是:
通过 dd 命令制作 SD 卡启动 已经可以启动了 到kenrle 了
现在想利用SD 卡的 uboot 升级 uboot-emi-nor
参考:i.MX_Linux_User's_Guide.pdf 中
Flashing U-Boot on Parallel NOR from U-Boot 的升级方式烧写
问题1,这种方式是否可行?
我尝试 参考你发文档 《support EIM parallel NOR flash .txt》 的步骤去移植
Here are the basic steps to do:
1. Define "CONFIG_CMD_WEIMNOR" in include/configs/mx6q_sabrelite.h
2. Undefine CONFIG_SYS_NO_FLASH in this config file
3. Set the start address , the data widht of the NOR flash correctly in the same config file.
4. Add a function in mx6q_sabrelite.c to:
Put the appropriate pads into correct mux mode;
Set up the EIM control/configuration registers as required.
5. Call this function in the board_init() function ( in board/freescale/mx6q_sabrelite/mx6q_sabrelite.c).
Most of the details can be found in the corresponding files for mx6q_sabreauto platform.
But one have to pay attention that this EIM initialization function has to be called before
the flash_init() function (in lib_arm/board.c), because the flash_init() function needs to
read some information from the flash chip, so before that , the EIM must be ready.
If you just call this EIM initialization function in board_init(),
then everything should be OK.
移植过程中我是参考了
include/configs/mx6qsabreauto.h
board/freescale/mx6qsabreauto/mx6qsabreauto.c
附件是我修改 的比较文件
附件mx6sabresd.c.patch 和 mx6sabresd.h.patch
我修改后 现在启动uboot 调试 信息如下:
initcall: 1784262c
U-Boot 2016.03-imx_v2016.03_4.1.15_2.0.0_ga+ga57b13b (Jul 26 2017 - 05:39:17 -0700)
initcall: 17811ac4
U-Boot code: 17800000 -> 1786E034 BSS: -> 178A63BC
initcall: 17802398
CPU: Freescale i.MX6DL rev1.2 at 792MHz
CPU: Automotive temperature grade (-40C to 125C)malloc_simple: size=10, ptr=ec, limit=400
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 -1
- not found
at 50C
Reset cause: POR
initcall: 1781207c
Board: MX6-SabreSD
initcall: 17811b08
I2C: ready
initcall: 17811af0
DRAM: initcall: 17803de0
initcall: 17811d68
Monitor len: 000A63BC
Ram size: 40000000
Ram top: 50000000
initcall: 178118f8
initcall: 17811a6c
TLB table from 4fff0000 to 4fff4000
initcall: 17811c84
initcall: 17811a20
Reserving 664k for U-Boot at: 4ff49000
initcall: 178119f0
Reserving 16392k for malloc() at: 4ef47000
initcall: 17811c28
Reserving 80 Bytes for Board Info at: 4ef46fb0
initcall: 17811910
initcall: 178119bc
Reserving 248 Bytes for Global Data at: 4ef46eb8
initcall: 17811950
initcall: 17811c7c
initcall: 17811de4
initcall: 17811d40
initcall: 17811c98
RAM Configuration:
Bank #0: 10000000 1 GiB
DRAM: 1 GiB
initcall: 17811934
New Stack Pointer is: 4ef46e90
initcall: 17811be4
initcall: 17811b78
Relocation Offset is: 38749000
Relocating to 4ff49000, new gd at 4ef46eb8, sp at 4ef46e90
initcall: 4ff5afd8
initcall: 4ff5ae30
initcall: 17811fc0 (relocated to 4ff5afc0)
dram_bank_mmu_setup: bank: 0
mmu_set_region_dcache_behaviour: start=0x00000000, size=1048575, option=30
CACHE: Misaligned operation at range [4fff0000, 4fff0004]
mmu_set_region_dcache_behaviour: start=0x00000009, size=262144, option=30
CACHE: Misaligned operation at range [4fff0024, 4fff0028]
initcall: 17811e48 (relocated to 4ff5ae48)
initcall: 17811fd0 (relocated to 4ff5afd0)
initcall: 17811f84 (relocated to 4ff5af84)
Pre-reloc malloc() used 0xec bytes (0 KB)
using memory 0x4ef47000-0x4ff49000 for malloc()
initcall: 17811e70 (relocated to 4ff5ae70)
initcall: 17811e28 (relocated to 4ff5ae28)
initcall: 17811f70 (relocated to 4ff5af70)
uclass_find_device_by_seq: 0 -1
uclass_find_device_by_seq: 0 0
- -1 -1
- not found
Bound device imx_thermal to root_driver
initcall: 17811f5c (relocated to 4ff5af5c)
initcall: 1780415c (relocated to 4ff4d15c)
gpmigpmigpmigpmigpmigpmigpmigpmigpmigpmigpmigpmigpmigpmisetup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
setup_iomux_eimnor()
initcall: 178183a4 (relocated to 4ff613a4)
initcall: 17811f4c (relocated to 4ff5af4c)
initcall: 17811f30 (relocated to 4ff5af30)
Now running in RAM - U-Boot at: 4ff49000
initcall: 1780441c (relocated to 4ff4d41c)
initcall: 17811fe8 (relocated to 4ff5afe8)
Flash: flash detect cfi
fwc addr 08000000 cmd f0 f0f0 16bit x 8 bit // 卡死在: drivers/mtd/cfi_flash.c 中
这边是什么问题吗?谢谢