TI中文支持网
TI专业的中文技术问题搜集分享网站

关于基于u-boot-2016.05 制作SD卡启动文件的问题

现在想根据BBB 为基础设计一块板卡 但需要设计的板卡DDR为256M 所以请问1:这个在哪里修改 是否是u-boot-2016.05+gitAUTOINC+6c5519b6fc-g6c5519b6fc/board/ti/am335x 下的board.c 这个文件中修改,是否还需要在其他哪些相关文件中修改?

问题2:现在通过ti-processor-sdk-linux-am335x-evm-03.00.00.04-Linux-x86-Install 制作生成的SDK启动文件 ,并没有成功,通过我以前问到的问题怀疑是eeprom问题,之后进行了以下的操作:第一步:在

/board-support/u-boot-2016.05+gitAUTOINC+6c5519b6fc-g6c5519b6fc/board/ti/am335x 下的board.c文件中屏蔽了下面 这个函数

 * Read header information from EEPROM into global structure.

 */

#ifdef CONFIG_TI_I2C_BOARD_DETECT

//void do_board_detect(void)

//{

    //     enable_i2c0_pin_mux();

    //     i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);

 

    //     if (ti_i2c_eeprom_am_get(-1, CONFIG_SYS_I2C_EEPROM_ADDR))

         //     printf("ti_i2c_eeprom_init failed\n");

//}

第二步:在

Board.h中  原来是这样

#ifdef CONFIG_TI_SECURE_DEVICE

#define board_is_bone() 0

#define board_is_bone_lt() 0

#define board_is_bbg1() 0

#define board_is_evm_sk() 0

#define board_is_idk() 0

#define board_is_gp_evm() 1

#define board_is_evm_15_or_later() 1

#define board_is_icev2() 0

#else

现在更改为

#ifdef CONFIG_TI_SECURE_DEVICE

#define board_is_bone() 0

#define board_is_bone_lt() 0

#define board_is_bbg1() 1

#define board_is_evm_sk() 0

#define board_is_idk() 0

#define board_is_gp_evm() 0

#define board_is_evm_15_or_later() 0

#define board_is_icev2() 0

#else

第三步:在/board-support/u-boot-2016.05+gitAUTOINC+6c5519b6fc-g6c5519b6fc/arch/arm/cpu/armv7/am33xx  中 修改

board.c文件 屏蔽了417行 如下所示

//#ifdef CONFIG_TI_I2C_BOARD_DETECT

    //     do_board_detect();

    //#endif

经过这三步骤之后编译之后生成的启动文件在终端中没有了任何显示,请问是哪里不对?另 按照TI的步骤 基于下载的这个SDK生成的启动文件,要么就是输出8个CCCCCCCC要么就是没有启动起来,请问这个是什么原因?

初学3352的嵌入式linux,谢谢大家的解答!

zhongchen zhao:

我是从u-boot的主线下载的2016.01版本的代码,没有用ti sdk里面的uboot。前期调试uboot的时候也是费了很大的劲才能转起来。这里说说我的经验吧。

1. 如果插入SD卡,设置SD卡启动,这时候程序串口一直输出CCCC,那么应该是SD卡分区的问题。AM335X第一个fat分区的起始扇区为63. 如果使用fdisk制作的扇区默认是2048,这样肯定不能启动。可以使用create-sdcard.sh制作一张符合要求的SD卡。另外在windows下可以使用HPUSBFW.EXE这个工具格式化SD卡。

2. 如果输出几个C之后停了,多半是板子型号识别的问题,没法从eeprom中读取板子的型号只有hangle。我分析了一下spl的启动流程,画了一张excel可以看出hang。(我使用的是主线2016.01的代码,可能和你的不同。排查的流程差不多)

在识别出板子之后才初始化ddr。

另外可以使用点灯的方式查看程序启动到什么地方了。

salvatore dc:

回复 zhongchen zhao:

谢谢你的回答 但是我现在主要想知道 若使用TI的SDK  来开发我自己的板子需要更改的地方应该是哪些部分

赞(0)
未经允许不得转载:TI中文支持网 » 关于基于u-boot-2016.05 制作SD卡启动文件的问题
分享到: 更多 (0)