查看: 3645|回复: 0

[原创] imx280 u-boot移植记录

[复制链接]
  • TA的每日心情
    开心
    2020-9-23 09:38
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    1

    主题

    2

    帖子

    0

    注册会员

    Rank: 2

    积分
    121
    最后登录
    2024-5-19
    发表于 2020-9-23 09:38:06 | 显示全部楼层 |阅读模式
    本帖最后由 ligen13872 于 2020-12-10 10:59 编辑

    使用官方的u-boot-2015.07.tar.bz2。板子为zlg的EasyARM-i.MX28xA V1.12。交叉编译工具也为ZLG的4.4.4版本。

    在zlg的源代码资料imx-bootlets-src-10.12.01\boot_prep\init-mx28.c中的函数int _start(int arg)中添加如下代码:
    /* *
    * Boot info for mainline U-boot
    * HC added 20160423
    *  */

    struct mxs_spl_data {
        uint8_t     boot_mode_idx;
        uint32_t    mem_dram_size;
    };



    //CONFIG_SYS_TEXT_BASE  不同的u-boot版本,定义不一样。
    struct mxs_spl_data *data = (struct mxs_spl_data *)
    ((CONFIG_SYS_TEXT_BASE - sizeof(struct mxs_spl_data)) & ~0xf);

    printf("data pointer: %X ...\r\n", data);
    data->mem_dram_size = 64*1024*1024;//固定写死,或者在u-boot中重新赋值
    data->boot_mode_idx = 7;//nand 2.3v 固定写死,或者在u-boot中重新赋值
    printf("bootmode: %X ...\r\n", bootmode);

    使用mx28evk_nand_defconfig配置。
    编译后安装步骤烧写可运行。
    发现串口无输入,可在mx28evk_nand_defconfig中将CONFIG_SYS_EXTRA_OPTIONS修改CONFIG_SYS_EXTRA_OPTIONS="MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC"。同时在imx-bootlets-src-10.12.01\boot_prep\init-mx28.c中的函数int _start(int arg)中修改auart3的管脚初始化。函数为HW_PINCTRL_MUXSEL6_CLR(0Xxxx);具体可查阅数据手册等资料。我使用串口3,故HW_PINCTRL_MUXSEL6_CLR(0x0F0000F0)。再次编译烧录,串口正常可输入。

    哈哈哈哈哈
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 17:44 , Processed in 0.078522 second(s), 19 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表