让sama5d3_xplained支持spi flash
官方sama5d3_xplained板没有从data flash启动的配置文件。 1.??????需要在at91bootstrap-masterboardsama5d3_xplained下制作sama5d3_xplaineddf_uboot_defconfig文件: CONFIG_SAMA5D3_XPLAINED=y CONFIG_CPU_CLK_528MHZ=y CONFIG_RAM_256MB=y #CONFIG_PMECC_AUTO_DETECT is not set CONFIG_SPI=y CONFIG_DATAFLASH=y CONFIG_DEBUG=y CONFIG_SCLK=y CONFIG_PM_EXTERNAL_DEVICES=y CONFIG_MAC0_PHY=y CONFIG_MAC1_PHY=y CONFIG_ACT8865=y CONFIG_PMIC_ON_TWI1=y 2.??????修改at91bootstrap-masterboardsama5d3_xplainedConfig.in.board文件,使其支持有关dataflash的配置 红色字体为修改部分: config CONFIG_SAMA5D3_XPLAINED bool"sama5d3_xplained" select SAMA5D3X select CONFIG_DDRC select ALLOW_NANDFLASH select ALLOW_SDCARD selectALLOW_DATAFLASH selectDATAFLASHCARD_ON_CS0 selectALLOW_BOOT_FROM_DATAFLASH_CS0 select ALLOW_CPU_CLK_266MHZ select ALLOW_CPU_CLK_332MHZ select ALLOW_CPU_CLK_396MHZ select ALLOW_CPU_CLK_498MHZ select ALLOW_CPU_CLK_528MHZ select ALLOW_CRYSTAL_12_000MHZ select CONFIG_SUPPORT_PM select CONFIG_HAS_EHT0_PHY select CONFIG_HAS_EHT1_PHY select CONFIG_HAS_PMIC_ACT8865 selectSUPPORT_BUS_SPEED_133MHZ selectSUPPORT_BUS_SPEED_166MHZ help ??? Use the SAMA5D3 Xplained development board 3.??????利用sama5d3_xplaineddf_uboot_defconfig和相关编译文档说明进行bootstrap编译。 注:期间可利用usart_puts()进行调试操作 ? 一、uboot移植 为sama5d3_xplained板支持data flash启动进行移植 1.??????用-boot-at91-u-boot-2015.01-at91configssama5d3_xplained_nandflash_defconfig作为模板进行修,使其适合serialflash,命名为sama5d3_xplained_serialflash_defconfig 内容如下: CONFIG_SPL=y CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_SERIALFLASH" +S:CONFIG_ARM=y +S:CONFIG_TARGET_SAMA5D3_XPLAINED=y 2.??????修改u-boot-at91-u-boot-2015.01-at91includeconfigssama5d3_xplained.h,注意此处不要使用//作为注释,否则会导致u-boot.lds含有非法字符。 主要添加对serial flash支持的宏,可对照atmel其他板卡的对应头文件进行修改 以下是我添加的部分: 1)??????? /* SerialFlash */ #defineCONFIG_CMD_SF ? #ifdefCONFIG_CMD_SF #defineCONFIG_ATMEL_SPI #defineCONFIG_SPI_FLASH #defineCONFIG_SPI_FLASH_ATMEL #defineCONFIG_SPI_FLASH_STMICRO /*为了支持其他厂家芯片,我用的是N25Q256A*/ #defineCONFIG_SPI_FLASH_BAR /*访问16M以上*/ #defineCONFIG_SF_DEFAULT_BUS?????????? 0 #defineCONFIG_SF_DEFAULT_CS????????????? 0 #defineCONFIG_SF_DEFAULT_SPEED??????????????? 30000000 #endif 2)??????注释此句:/*#define CONFIG_ENV_IS_NOWHERE*/ 3.??????修改u-boot-at91-u-boot-2015.01-at91includeconfigsat91-sama5_common.h,以适合需要的启动参数。但就单纯移植serial flash而言,此文件可不修改。不在此处列出我修改的部分代码。 4.??????修改u-boot-at91-u-boot-2015.01-at91boardatmelsama5d3_xplainedsama5d3_xplained.c 增加: #ifdefCONFIG_ATMEL_SPI intspi_cs_is_valid(unsigned int bus,unsigned int cs) { return bus == 0 && cs <= 1; } ? structspi_slave; voidspi_cs_activate(struct spi_slave *slave) { at91_set_pio_output(AT91_PIO_PORTD,13,0); } ? voidspi_cs_deactivate(struct spi_slave *slave) { at91_set_pio_output(AT91_PIO_PORTD,1); } #endif (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |