加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

让sama5d3_xplained支持spi flash

发布时间:2020-12-15 20:00:11 所属栏目:百科 来源:网络整理
导读:官方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_PM

官方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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读