TMS320C6678开发笔记---IBL编译与分析3

陌路散爱 提交于 2020-11-20 11:23:20

9.3.7 makefile修改

C:\MinGW\msys\1.0\ibl\boot_loader\ibl\src\make\makefile

9.3.8 iblinit.c修改

C:\MinGW\msys\1.0\ibl\boot_loader\ibl\src\main\iblinit.c

  • 将IBL_ENTER_ROM设为0,或者将函数iblEnterRom();注释掉

9.3.9 将MinGW命令行输出信息输出到文件

IBL_buildibl_6678 2>&1 | tee -a log3

9.3.10 编译小问题

  • 将IBL_CFG_SPI_MAP_TABLE_DATA_ADDR_LSW擅自改成0x500了,导致一下问题出现(乌龙)

C:\MinGW\msys\1.0\ibl\boot_loader\ibl\src\cfg\c66x\iblcfg.h

9.3.11 spiRom.dat后期处理

修改文件:C:\MinGW\msys\1.0\ibl\boot_loader\ibl\src\make\makestg2

修改后编译现象为:

9.3.12 spiRom.map.pre文件修改

  • IBL烧写到NOR flash中,原理和普通的app程序烧到flash中一样,生成的i2crom.ccs(spi和i2c模式下生成的均叫作此文件)文件,必须用romparse小工具处理一下,即添加boottable表,因而会用到spiRom.map.pre文件。
  • 修改后的spiRom.map.pre文件如下:

  • 以上参数的配置值,参考与创龙开发板(Demo\Factory Reset\Tools\SPI NorFlash Image\Config\app_spirom.map.pp),主要用来配置pll时钟和spi模式速度信息等。
  • 请确保以上参数配置和spi启动的gpio引脚配置、IBL Makefile(参考Makefile修改章节)中的参数配置一致,
  • 实际编译工程时,spiRom.map.pre转换成spiRom.map.pp使用。
  • 调试过程中ibl_c66x_init.out打印信息如下:

ibl_c66x_init.out调试打印信息如下:

[C66xx_0] ++++++bootDevice = 1
++++++BOOT_DEVICE_SPI_NOR
++++++littleEndian = 1
++++++v = 0x9e02f
++++++params = ROM_BOOT_PARAMS_ADDR_C6678
++++++if ((SPI_ROM == 1) && (params->boot_mode == BOOT_MODE_SPI))
++++++spip->mode       = 1
++++++spip->addrWidth  = 24
++++++spip->nPins      = 4
++++++spip->csel       = 0
++++++spip->c2tdelay   = 0
++++++spip->cpuFreqMhz = 1000
++++++spip->busFreqMhz = 1
++++++spip->busFreqKhz = 0
++++++cfg->clkdiv = 166
++++++hwSpiRead iblBootMap_t ++++++map = 
 0x0 0x14 0x0 0x0 0x0 0x0 0xa7 0x80 0x0 0x0 0x5 0x0 0xff 0xff 0xff 0xff 0x0 0x0 0x5 0x0
++++++map.length   = 0x14 
++++++map.chkSum   = 0x0 
++++++map.addrLe   = 0xa780 
++++++map.configLe = 0x500 
++++++map.addrBe   = 0xffffffff 
++++++map.configBe = 0x500 
++++++configAddr   = 0x500 
++++++spiReadAddress = 0xa780 
++++++in the 2 for (;;)
++++++ibl.chkSum = 0x0
++++++ibl.iblMagic = 0xcec11ebc
++++++success !!!

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!