AM65x Sitara SoC是一款基于ARM架构的处理器,可以用于嵌入式系统开发。u-boot是一款开源的用于启动引导的软件,支持多种硬件平台。下面给出在AM65x Sitara SoC上使用u-boot的代码示例:
#include
int board_early_init_f(void) { enable_i2c0_pin_mux(); enable_board_pin_mux(); return 0; }
int board_init(void) { /* address of boot parameters */ gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; return 0; }
int dram_init(void) { gd->ram_size = PHYS_SDRAM_SIZE; return 0; }
int board_late_init(void) { u32 mac_hi, mac_lo; u8 mac_addr[6];
mac_hi = readl(&ctrl_core_pad_io_regs->mcspi1_cs0);
mac_lo = readl(&ctrl_core_pad_io_regs->mcspi1_cs1);
mac_addr[0] = mac_hi >> 8;
mac_addr[1] = mac_hi;
mac_addr[2] = mac_lo >> 24;
mac_addr[3] = mac_lo >> 16;
mac_addr[4] = mac_lo >> 8;
mac_addr[5] = mac_lo;
eth_setenv_enetaddr("ethaddr", mac_addr);
return 0;
}
其中,board_early_init_f()函数用于初始化I/O口,board_init()函数用于设置boot参数地址,dram_init()函数用于初始化DRAM,board_late_init()函数用于设置以太网地址。这些函数的具体实现可根据实际需求进行修改。
上一篇:AM64x主机模式问题
下一篇:am65x运行ubuntu