This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PROCESSOR-SDK-AM335X:自定义电路板不能使用最新的 SDK 进行#39;t 引导

Guru**** 2551110 points
Other Parts Discussed in Thread: TPS65217, TPS65910

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/569596/processor-sdk-am335x-custom-board-doesn-t-boot-with-latest-sdk

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:TPS65217TPS65910

您好!

我正在使用 TI 的定制板并使用 SDCard 进行引导。

1) 此板可与 ti-sdk-AM335x-EVM-07.00.00.00.00.00.00- Linux-x86-64安装 SDK 配合使用、并且必须使其适用于最新的 SDK、例如 、ti-processor-sdk-linux-am335x-EVM-03.02.00.05-linux-x86-64安装。

2) 我尝试通过编译最新 BSP 的引导加载程序、但我的 NOR MLO 和 U-Boot 不工作、也无法在控制台上打印。  

是否有人可以帮助我了解我要做哪些更改、以便 MLO 和 U-Boot 开始工作、我还可以在控制台上打印?

谢谢、此致

Deshvir Malik  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您最可能需要绕过 U-boot 中的 EEPROM 检查。 请参阅 :e2e.ti.com/.../550719
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Biser、


    根据您的建议、我绕过了 EEPROM 检查并修改了控制台、因为我的定制板使用 uart3来控制台、但我的板仍然无法启动。

    下面是我所做的所有更改、并使用 git 进行跟踪。 请您查看更改并告诉我问题。

    用于指示的颜色:

    蓝色-已修改的文件

    红色-由我注释的代码

    绿色-我添加的代码

    diff --git a/arch/arm/cpu/armv7/am33xx/board.c b/arch/arm/cpu/armv7/am33xx/board.c
    索引4618470..78f3dda 100644
    -- a/arch/arm/cpU/armv7/am33xx/board.c
    ++ b/arch/arm/cpu/armv7/am33xx/board.c
    @@-36、6 + 36、9 @@
     #include
     #include
     
    +/-[16012017]添加了 Deshvir
    //#define GPIO_WD_DISABLE 76
    +
     Declate_global_data_ptr;
     
     #if !CONFIG_IT_ENABLED (for_control)
    @@-108、13 +111、20 @@ const struct GPIO_bank * const OMAP-GPIO_bank = GPIO_bank_am33xx;
     #if defined (CONFIG_OMAP_HSMMC)&&!defined (CONFIG_SPL_Build)
     int cpu_mmc_init (bd_t *bis)
     {
    +/*[19012017]-德什韦*/
    +#if MMC_boot    
        内转台;
     
        RET = OMA_MMC_INIT (0、0、0、-1、-1);
        IF (RET)
           回程;
    -
        返回 OMAP-MMC_init (1、0、0、-1、-1);
    +#endif
    +
    +#if NAND_BOOT
    +   返回0;
    +#endif    
    +    
     }
     #endif
     
    @@-394,6 +404,7 @@静态空 RTC_ONLY (空)
     
     void s_init (void)
     {
    +   puts ("inside s_init");
     #IF 定义(CONFIG_SPL_Build)&&定义(CONFIG_SPL_RTC_ONLY _SUPPLY)
        RTC_ONLY ();
     #endif
    @@-401、6 +412、7 @@ void s_init (void)
     
     void EARLY_SYSTEM_INIT (void)
     {
    +   PUs ("在 EARLY_SYSTEM_INIT \n"中);
        /*
        * ROM 将仅设置足够的引脚多路复用器来允许
        *前4KiB 不能被读取、我们必须完成我们所知的操作
    @@-414、7 +426、7 @@ void EARLY_SYSTEM_INIT (void)
        setup_EARLY_Clocks ();
        UART_SOFT_RESET();
     #ifdef CONFIG_TI_I2C_Board_Detect
    -   DO 板检测();
    //   do board_detect ();
     #endif
     #IF 定义(CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC)
        /*启用 RTC32K 时钟*/
    @@-425,9 +43711 @@ void earn_system_init (void)
     #ifdef CONFIG_SPL_Build
     void board_init_f (ulong 虚拟)
     {
    +       puts ("board_init \n");
        EARLY_SYSTEM_INIT();
        Board_EARLY_INIT_f ();
        SDRAM_INIT();
    +       P负载("在 SDRAM_init arch/arm/cpu/armv7/AM335x/board.c \n"之前);
        /* DRAM_init 必须将完整的 ramsize 存储在 gd->ram_size 中*/
        gd->ram_size = get_ram_size (
              (void *) CONFIG_SYS_SDRAM_BASE、
    diff --git a/arch/arm/cpu/armv7/am33xx/clock_am33xx.c b/arch/arm/cpu/armv7/am33xx/clock_am33xx.c
    索引92142c8..ddc4f23 100644
    ---- a/arch/arm/cpu/armv7/am33xx/clock_am33xx.c
    ++ b/arch/arm/cpu/armv7/am33xx/clock_am33xx.c
    @@-53、8 +53、12 @@ const struct DPLL_regs DPLL_DDR_regs ={
     
     struct DPLL_params DPLL_MPU_opp100 ={
           CONFIG_SYS_MPUCLK、OSC-1、1、-1、-1、 -1、-1};
    +#if 0
     const 结构 DPLL_params DPLL_CORE_opp100 ={
           1000、OSC-1、-1、-1、-10、 8、4};
    +#endif
    +const 结构 DPLL_params DPLL_CORE_opp100 ={
    +      720、OSC-1、-1、-1、10、 8、4};
     const 结构 DPLL_params DPLL_MPU ={
           MPUPLL_M_300、OSC-1、1、-1、-1、 -1、-1};
     const 结构 DPLL_params DPLL_CORE ={
    diff -git a/arch/arm/cpu/armv7/omap-common/boot-common.c b/arch/arm/cpu/armv7/omap-common/boot-common.c
    索引 be08e1d.a91a8b8 100644
    -- a/arch/arm/cpu/armv7/omap-common/boot-common.c
    ++ b/arch/arm/cpu/armv7/omap-common/boot-common.c
    @@-207、6 +207、7 @@ void spl_board_init (void)
     
     int board_MMC_init (bd_t *bis)
     {
    +#if MMC_boot    
        switch (spl_boot_device ()){
        案例 BOOT_DEVICE_MMC1:
           OMAP_MMC_init (0、0、0、-1、-1);
    @@-217、6 +218、7 @@内部 board_MMC_init (bd_t *bis)
           OMAP_MMC_init (1、0、0、-1、-1);
           中断;
        }
    +#endif
        返回0;
     }
     
    diff --git a/board/ti/am335x/kconfig b/board/ti/am335x/kconfig
    索引11ef3ca.d56a081 100644
    -- A/board/ti/AM335x/Kconfig
    ++ b/board/ti/am335x/kconfig
    @@-15、7 + 15、7 @@配置 SYS_CONFIG_NAME
     配置 CONS_INDEX
        Int "UART 用于控制台"
        范围1 6.
    -   默认值为1
    +   默认值4.
        帮助
         AM335x SoC 总共有6个 UART (参考的 UART0至 UART5)
         文档等)。  具体取决于您的具体情况
    diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c
    索引02e68a6..52e99e9 100644
    -- A/board/ti/am335x/board.c
    ++ b/board/ti/am335x/board.c
    @@-258,7+258,7 @@ const struct DPLL_params DPLL_DDR_BON_BLK ={
     void am33xx_spl_board_init (void)
     {
        INT MPU_VDD;
    -
    +       puts ("内部 spl_board_init\n");
        /*获取频率*/
        DPLL_MPU_opp100.m = AM335x_get_efuse_MPU_max_freq (cdev);
     
    @@-273、6 +273、8 @@ void am33xx_spl_board_init (void)
           if (board_is_Bone ()&&!strncmp (board_ti_get_rev ()、"00A1"、4))
              返回;
     
    //[18012017] Deshvir
    +#if 0
           IF (i2c_probe (TPS65217_chip_PM))
              返回;
     
    @@-297、7 +299、7 @@ void am33xx_spl_board_init (void)
           *
           if (board_is_Bone_lt ())
              DPLL_MPU_opp100.m = MPUPLL_M_1000;
    -
    +#endif
           /*
           *将 USB 电流限制增加到1300mA 或1800mA 并进行设置
           *根据需要使用 MPU 电压控制器。
    @@-306、10 +308、11 @@ void am33xx_spl_board_init (void)
              USB_cur_lim = TPS65217_USB_input_CUR_limit_1800MA;
              MPU_VDD = TPS65217_DCDC_VOLT_SEL_1325MV;
           }否则{
    -         USB_cur_lim = TPS65217_USB_input_CUR_limit_1300MA;
    +      //   USB_cur_lim = TPS65217_USB_input_CUR_limit_1300MA;
              MPU_VDD = TPS65217_DCDC_VOLT_SEL_1275MV;
           }
    -
    //[18012017] Deshvir
    +#if 0
           IF (tps65217_reg_write (TPS65217_PROT_level_none、
                       TPS65217_POWER_PATH、
                       USB_cur_lim、
    @@-322、10 +325、13 @@ void am33xx_spl_board_init (void)
              PUT ("tps65217_VOLTAGE_UPDATE FAILENT\n");
              返回;
           }
    -
    +#endif
           /*将核心频率设置为 OPP100 */
    -      do_setup_DPLL (&DPLL_CORE_reg、&DPLL_CORE_opp100);
    +   //   do_setup_DPLL (&dLL_core_regs、&dLL_core_op100);
     
    //[18012017] Deshvir
    +#if 0
    +    
           /*设置 DCDC2 (MPU)电压*/
           if (tps65217_VOLTAGE_UPDATE (TPS65217_DEFDCDC2、MPU_VDD)){
              PUT ("tps65217_VOLTAGE_UPDATE FAILENT\n");
    @@-355、7 +361、10 @@ void am33xx_spl_board_init (void)
                       TPS65217_LDO_VOLTGE_OUT_3_3、
                       TPS65217_LDO_MASK))
              PUT ("tps65217_reg_write failure\n"\});
       -}否则{
    +#endif    
    +   }
    +#if 0
    +   else{
           int sil_rev;
     
           /*
    @@-389,9 +398,11 @@ void am33xx_spl_board_init (void)
           /*将核心频率设置为 OPP100 */
           do_setup_DPLL (&DPLL_CORE_reg、&DPLL_CORE_opp100);
        }
    -
    +#endif
        /*将 MPU 频率设置为我们现在检测到的值,此时电压已设置*/
        do_setup_DPLL (&DPLL_MPU_regs、&DPLL_MPU_opp100);
    +   printf ("DRA 618 MPU freq 设置为%dMhz、\n"DPLL_MPU_opp100.m);
    +   printf ("DRA 618 Core freq 设置为%dMhz、\n"DPLL_CORE_opp100.m);
     }
     
     const 结构 DPLL_params * get_DPLL_DDR_params (void)
    @@-408、6 +419、7 @@ const struct DPLL_params * get_DPLL_DDR_params (void)
     
     void set_UART_mux_conf (void)
     {
    +         
     #if CONFIG_CONS_INDEX = 1.
        enable_uart0_pin_mux ();
     #Elif CONFIG_CONS_INDEX = 2.
    @@-491,6+503,11 @@ void SDRAM_init (void)
           CONFIG_DDR (400、ioregs_evmsk、&ddr3_icev2_data、
                &DDR3_icev2_cmd_CTRL_data、&DDR3_icev2_EMIF_reg_data、
                0);
    +   否则、如果(board_is_gp_evm ())/*[18012017]- sedvir */
    +      CONFIG_DDR (400、ioregs_bonelt、
    +            &DDR3_beagleblack_data、
    +            &DDR3_beagleblack_cmd_Ctrl_data、
    +            &DDR3_beagleblack_EMIF_REG_DATA、0);
        其他
           CONFIG_DDR (266、ioregs、&DDR2_data、
                &DDR2_CMD_CTRL_DATA、&DDR2_EMIF_REG_DATA、0);
    diff --git a/board/ti/am335x/mux.c b/board/ti/am335x/mux.c
    索引8afa5f9..9cbad02 100644
    -- A/board/ti/am335x/mux.c
    ++ b/board/ti/am335x/mux.c
    @@-40、11 + 40、21 @@静态结构 MODULE_PIN_mux uart2_PIN_mux[]={
        {-1}、
     };
     
    +/-*用于 ngt [16012017] Deshvir */
    +static 结构 module_pin_mux uart3_pin_mux[]={
    +       {offset (mii1_rxd3)、(mode (1)| PULLUP_EN | RXACTIVE)}、 /* UART3_RXD *
    +       {offset (mii1_rxd2)、(mode (1)| PULLUUDEN)}、     // UART3_TXD *
    +       {-1}、
    +};
    +
    +
    +#if 0
     静态结构 MODULE_PIN_mux uart3_PIN_mux[]={
        {offset (spi0_CS1)、(mode (1)| PULLUP_EN | RXACTIVE)}、   // UART3_RXD
        {offset (ecap0_in_pwm0_out)、(mode (1)| PULLUUDEN)}、   // UART3_TXD *
        {-1}、
     };
    +#endif
     
     静态结构 MODULE_PIN_mux uart4_PIN_mux[]={
        {offset (GPMC_wait0)、(mode (6)| PULLUP_EN | RXACTIVE)}、   /* UART4_RXD *
    @@-66、7 +76、8 @@静态结构 MODULE_PIN_mux mmc0_PIN_mux[]={
        {offset (mmc0_clk)、(mode (0)| RXACTIVE | PULLUP_EN)}、   /* MMC0_CLK *
        {offset (mmc0_cmd)、(mode (0)| RXACTIVE | PULLUP_EN)}、   // MMC0_CMD *
        {offset (McASP0_aclkr)、(mode (4)| RXACTIVE)}、      // MMC0_WP *
    -   {offset (spi0_CS1)、(mode (7)| RXACTIVE | PULLUP_EN)}、   /* GPIO0_6 */
    //   {offset (spi0_CS1)、(mode (7)| RXACTIVE | PULLUP_EN)}、   // GPIO0_6 *
    +   {offset (spi0_CS1)、(mode (5)| RXACTIVE | PULLUP_EN)}、  // MMC0_CD *//[16012017] Deshvir -用于 mmc0
        {-1}、
     };
     
    @@-353、7 +364、10 @@ void enable_board_pin_mux (void)
           CONFIG_MODULE_PIN_mux (mmc1_PIN_mux);
     #endif
        }否则、如果(board_is_gp_evm()){
    +      Ps ("内部 mux.c - enable_board_pin_mux ()");
           /*通用 EVM */
    +      #if 0  //[16012017] Deshvir
    +
           unsigned short profile = detect_daugh_board_profile ();
           CONFIG_MODULE_PIN_mux (rgmii1_PIN_mux);
           CONFIG_MODULE_PIN_mux (mmc0_PIN_mux);
    @@-369,6 +383,7 @@ void enable_board_pin_mux (void)
              CONFIG_MODULE_PIN_mux (mmc1_PIN_mux);
              CONFIG_MODULE_PIN_mux (spi0_PIN_mux);
           }
    +      #endif
        }如果(board_is_idk()){
           /*工业电机控制(IDK)*/
           CONFIG_MODULE_PIN_mux (mii1_PIN_mux);
    @@-381、8 + 396、10 @@ void enable_board_pin_mux (void)
           CONFIG_MODULE_PIN_mux (mmc0_PIN_mux_SK_EVM);
        }否则、如果(board_is_Bone_lt()){
           /* BeagleBone LT Pinmux */
    -      CONFIG_MODULE_PIN_mux (mii1_PIN_mux);
    -      CONFIG_MODULE_PIN_mux (mmc0_PIN_mux);
    +/-[16012017]      Deshvir
    +      puts ("在 mux.c 内-否则、如果为 board_is_Bon_lt ()");
    +   //   configure_module_pin_mux (mii1_pin_mux);
    +   //   configure_module_pin_mux (mmc0_pin_mux);
     #IF 已定义(CONFIG_NAND)&&已定义(CONFIG_EMMC_BOOT)
           CONFIG_MODULE_PIN_mux (nand_PIN_mux);
     #Elif defined (CONFIG_NOR)&& defined (CONFIG_EMMC_BOOT)
    @@-393、9 +410、9 @@ void enable_board_pin_mux (void)
        }如果(board_is_icev2()){
           CONFIG_MODULE_PIN_mux (mmc0_PIN_mux);
           CONFIG_MODULE_PIN_mux (GPIO0_18_PIN_mux);
    -      CONFIG_MODULE_PIN_mux (uart3_icev2_PIN_mux);
    -      CONFIG_MODULE_PIN_mux (rmii1_PIN_mux);
    -      CONFIG_MODULE_PIN_mux (spi0_PIN_mux);
    +   //   configure_module_pin_mux (uart3_icev2_pin_mux);
    +   //   configure_module_pin_mux (rmii1_pin_mux);
    +   //   configure_module_pin_mux (spi0_pin_mux);
        }否则{
           PUT ("未知电路板、无法配置 pinmux。");
           hang();
    diff ---git a/configs/AM335x_evm_defconfig b/configs/AM335x_evm_defconfig
    索引0ddf16a...3e9f3a1 100644
    -- A/configs/AM335x_EVM_defconfig
    ++ b/configs/AM335x_EVM_defconfig
    @@-5、7 + 5、7 @@ CONFIG_SPL_STACK_R_ADDR=0x82000000
     CONFIG_DEFAULT_DEVICE_TREE="AM335x-EVM"
     CONFIG_SPL=y
     CONFIG_SPL_STACK_R=y
    -config_SYS_Extra 选项="NAN"
    +CONFIG_SYS_Extra 选项="SERIL4、CONS_INDEX = 4"
     CONFIG_hush_parser=y
     CONFIG_autobot_keyed=y
     CONFIG_autobot_prompt="Press space to abort autoboot in %d seconds (按空格以在%d 秒内中止自动引导)\n"
    @@-59、4 +59、5 @@ CONFIG_USB_MUSB_TI=y
     CONFIG_of_Board_Setup=y
     CONFIG_CMD_TIME=y
     CONFIG_DM_I2C=y
    -config_SPL_YMODEM_support=y
    +CONFIG_CONS_index=4
    +CONFIG_MMC_BOOT=1
    diff ---git a/drivers/mmc/omap_hmmc.c b/drivers/mmc/omap_hmmc.c
    索引 e3c64bb..0cd65ec 100644
    -- a/drivers/mmc/omap_hmmc.c
    ++ b/drivers/mmc/omap_hmmc.c
    @@-1408、6 +1408、15 @@ int omap_init (int dev_index、uint host_caps_mask、uint f_max、int cd_gpio、
     #ifdef OMAP-HSMMC3_base
        案例2:
           PRIV_DATA->base_addr =(struct hsmmc *) OMA_HSMMC3_base;
    +
    +/-*[18012017]- Deshvir *       
    +#define eMMC2_ENABLE
    +#ifdef eMMC2_ENABLE
    +              host_caps_val |= mmc_mode_8bit;
    +              printf ("\nOMAP-HSMMC3_base 大小写\n");
    +#endif
    +
    +
     #IF 已定义(CONFIG_DRA7XX)&&已定义(CONFIG_HSMMC3_8BIT)
           /*为 DRA7XX 上的 eMMC 启用8位接口*/
           host_caps_val |= mmc_mode_8bit;
    diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h
    索引02d3bcc.9cac60a 100644
    --包括/configs/am335x_evm.h
    ++ b/include/configs/am335x_evm.h
    @@-18、10 + 18、9 @@
     
     #include
     
    -#ifndef CONFIG_SPL_Build
    -#定义 CONFIG_TIMESTAMP
    -# define CONFIG_LZO
    -#endif
    +/*[19012017]-德什韦*/
    +#define MMC_BOOT   1
    +#define NAND_BOOT  0
     
     #define CONFIG_SYS_BOOTM_LEN      (16 << 20)
     
    @@-29、6 + 28、10 @@
     #define CONFIG_MACH_TYPE      MACH_TYPE_TIAM335EVM
     #define CONFIG_Board_Late_init
     
    +/-*[18012017]-德什韦
    +高速缓存-已启用*/
    +#define CONFIG_CMD_cache
    +
     /*时钟定义*/
     #define V_OSCK              来自 T2的24000000 /*时钟输出*/
     #define V_SCLK             (V_OSCK)
    @@-112、13 +115、22 @@
        "bootdir=/boot\0"\
        "BootFile=zImage\0"\
        "Fdtfile=undefined\0"\
    -"console=ttyO0、115200n8\0"   \
    +"console=ttyO3、115200n8\0"   \
        "partitions="\
           "uid_disk=${uuid_gppt_disk};"\
           "name=rootfs,start=2MiB, size=-、uuid=${uid_gp_t_rootfs}\0"\
        "optargets=\0"\
        "ramroot=/dev/ram0 rw\0"\
        "ramrootfstype=ext2\0"\
    +"mmcargs=setenv   bootargs console=${console}"\
    +      "${optargets}"\
    +"root=$      {mmcroot}"\
    +"rootfstype=$      {mmcrootfstype}"\
    +"quiet      lpj=2396160\0"\
    +"usbargs=setenv   bootargs console=${console}"\
    +      "${optargets}"\
    +"root=$      {usbroot}"\
    +"rootfstype=$      {usbrootfstype}\0"\
        "spiroot=/dev/mtdblock4 rw\0"\
        "rootspifstype=jffs2\0"\
        "spisrcaddr=0xe0000\0"\
    @@-160、7 +172、7 @@
           "如果 TEST $board_name = A335_ICE;则"\
              "setenv 控制台 ttyO3、115200n8;"\
           "否则"\
    -"setenv         控制台 ttyO0、115200n8;"\
    +"setenv         控制台 ttyO3、115200n8;"\
           " FI;\0"\
        NANDARGS \
        NETARGS \
    @@-186、10 + 198、19 @@
     #define CONFIG_POWER_TPS65217
     #define CONFIG_POWER_TPS65910
     
    +/*[18012017]-德什韦
    + PMIC 支持*
    +#undef CONFIG_POWER_TPS65217
    +#undef CONFIG_POWER_TPS65910
    +
     /* SPL */
     #ifndef CONFIG_NOR_BOOT
     #define CONFIG_SPL_POWER_support
     
    +/-[18012017]-德什韦*/
    +/-* SPL */
    +#undef CONFIG_SPL_POWER_support
    +
     /*使用 RTC 块进行引导计数*/
     #define CONFIG_BOOTCOUNT_LIMIT
     #define CONFIG_BOOTCOUNT_AM33XX
    @@-198、6 +21911 @@
     /* USB 小工具 RNDIS */
     #define CONFIG_SPL_MUSB_new_support
     
    +
    +/-[18012017]-德什韦*/
    +/-* USB 小工具 RNDIS */
    +#undef config_SPL_MUSB_new_support
    +
     #define CONFIG_SPL_LDSCRIPT      "$(CPUDIR)/am33xx/u-boot-spl.lds"
     #endif
     
    @@-384、6 +410、13 @@
     #define CONFIG_SPL_SPI_LOAD
     #define CONFIG_SYS_SPI_U_BOOT_OVs   0x20000
     
    +/-[18012017]-德什韦*/
    禁用+/-* SPI 闪存。 *    
    +#undef config_SPL_SPI_support
    +#undef CONFIG_SPL_SPI_FLASH_support
    +#undef CONFIG_SPL_SPI_LOAD
    +
    +
     #define CONFIG_ENV_IS_IN_SPI_FLASH
     #define CONFIG_SYS_REDUNDAND_environment
     #define CONFIG_ENV_SPI_MAX_Hz      CONFIG_SF_DEFAULT_SPEED
    diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h
    索引8fa6f3e.8ba9524 100644
    --包括/configs/ti_armv7_common.h
    ++ b/include/configs/ti_armv7_common.h
    @@-17、6 + 17、10 @@
     #ifndef __CONFIG_TI_ARMV7_common_H__
     #define __CONFIG_TI_ARMV7_common_H__
     
    +/*[19012017]-德什韦*/
    +#define MMC_BOOT   1
    +#define NAND_BOOT   0
    +
     /*
     *我们通常不包含 NOR 闪存。  在我们这么做的情况下、我们
     *稍后取消定义。
    @@-55、7 +59、7 @@
        "脚本地址=0x80000000\0"\
        "pxefile_addr_r=0x80100000\0"\
        "bootm_size=0x10000000\0"\
    -"boot_FDT=try\0"    
    +"BOOT_FDT=NO\0"    
     
     #define DEFAULT_MMC_TI_args \
        "mmcdev=0\0"\
    @@-299,6+303,10 @@
     #define CONFIG_CMD_SPL
     #endif
     
    +#if NAND_BOOT
    +#undef CONFIG_MMC
    +#endif
    +
     #ifdef CONFIG_MMC
     #define CONFIG_SPL_LIBDISK_support
     #define CONFIG_SPL_MMC_support
    @@-333、6 +341、23 @@
     
     /*通用环境变量*/
     
    +/*[19012017]-德什韦*/
    +/-* MMC Boot */
    +#define BOOTCMD_MMC \
    +"MMC_BOOT="   \
    +"setenv      devtype mmc;"\
    +"if      MMC dev ${devnum};然后"\
    +         "运行 mmcargs;"\
    +"run         scan_boot;"\
    +         "运行 mmcboot;"\
    +"setenv         mmcdev 1;"\
    +"setenv         bootpart 1:2;"\
    +         "运行 mmcboot;"\
    +      "fi\0"\
    +"bootcmd_mmc0=setenv   devnum 0;setenv rootpart 2;dcache;运行 MMC_boot;\0"\
    +
    +
    +
     #ifdef CONFIG_CMD_NET
     #define NETTRGS \
        "static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}"\

    谢谢、此致

    Deshvir Malik

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    关于引脚多路复用器和启用您在 u-boot 中使用的模块、请注意、在最新的 TI SDK 中、u-boot 中也有一个 DTS 文件:
    arch/arm/dts/

    您需要添加 pinmux 配置并将 uart3的状态更改为 status ="确定"、以便您可以完全启用该模块。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bisor、

    我再次提取了 SDK 并从头开始。 最新的 SDK 引导加载程序中没有 READ_EEPROM()函数,没有 EEPROM 检查功能。

    路径:/home/deshvir/ti/board-support/u-boot-2016.05 +gitAUTOINC+6c5519b6fc-g6c5519b6fc/board/ti/am335x/board.c

    void do 板检测(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 失败\n");

     

    使用 uart0并在控制台上执行以下操作:

    root@NT:~# CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

    在将 SDCard 与 MLO 和 U-Boot.img 放在一起时、我没有得到任何东西、甚至没有 CCCCCCCCCCCC...

    您能否建议所需的必要更改?

     

    谢谢、此致

    Deshvir Malik

     

     

     

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Yordan、您好!

    感谢您提供这一非常有用的信息。 但是、当我在提取最新的 SDK 后再次从头开始、并且当前仅使用默认 uart0、并且一旦认为将在 uart0开始工作、那么我将切换到 uart3。 但我只能得到 CCCCCCCCCC... 在控制台上、在将 SDCard 与 MLO 和 U-Boot 放在一起之后、我没有得到任何东西。

    您能建议可能的问题和解决方案吗?


    谢谢、此致
    Deshvir Malik
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bisor、

    最后、我能够在跳过 EEPROM 检查后使用 MLO 和 u-boot.img 启动电路板、这在 uart0上工作。

    我编写了以下函数来跳过 EEPROM 检查。

    int __Minger_unused ti_i2c_EEPROM_AM_get1 (void)

        struct ti_common_eeprom *ep;

    /*使用已知错误的 i2c 标记初始化失败。 *

    EP = TI_EEPROM_DATA;

    EP->HEADER = TI_DEAD_EEPROM_魔术;

        EP->NAME[0]= 0x0;

        EP->VERSION[0]= 0x0;

        EP->serial[0]= 0x0;

        EP->CONFIG[0]= 0x0;

    EP->HEADER = TI_EEPROM_HEADER_Magic;

    EP->NAME[0]='A';

    ep->name[1]='3';

    ep->name[2]='3';

    ep->name[3]='5';

    ep->name[4]='B';

    ep->name[5]='N';

    ep->name[6]='L';

     ep->name[7]="T";

    ep->version[0]='1';

    ep->version[1]='0';

    ep->version[2]='0';

    ep->version[3]='0';

    返回0;

     

    但是、我想从 uart3启动电路板、并且我已经对 uart3执行了 u-boot/arc/arm/dts/AM335x-bone-common.dtsi 中的更改、如下面所述、但电路板不启动。

     

    uart3_pins:pinmux_uart3_pins{
          pinctrl-single、pins =<
             0x134 (PIN_INPUT_PULLUP | MUX_MODE1)   /* mii1_rxd3.uart3_RxD *
             0x138 (PIN_OUTPUT 下拉| MUX_MODE1)   /* mii1_rxd2.uart3_TXD *
          >;
       };

     

    uart3{(&U)
           pinctrl-names ="default";
           pinctrl-0 =<uart3_PINs>;

           状态="正常";
           };

    我还想在哪里更改才能使用 uart3?

    谢谢、此致

    Deshvir Malik

     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    LK"I

    Deshvir、

    您能否与我们分享完整的代码/补丁?

    这将会非常有帮助...

    Harel