ATMEL SAM9X5烧写引导文件

介绍 ATMEL的SAM9X5系列CPU在设定从CPU内部的BOOTROM启动后,如果在启动过程中没有发现NANDFLASH、SPI FLASH、DATA FLASH或者I2C FLASH中具备可用的引导文件,则会启动SAMBA服务。此时用户可以通过串口或者USB对SAM9X5的启动FLASH进行编程。但是由于使用串口进行SAMBA控制的时候经常无反应,故建议使用USB接口(USB接口为SAM9X5的Device接口)。 使用SAMBA烧写启动文件 识别/安装USB驱动 如果CPU启动的SAMBA服务,则CPU在DBG口显示RomBOOT,同时电脑会发现一个新硬件(如果CPU找到了启动文件或者启动文件出错则不会有新硬件发现): 安装驱动,完成后如下:   连接目标板 打开SAMBA软件,选择安装的USB转SERIAL的设备,选择连接: 由于我们采用NAND FLASH作为启动芯片,选择NandFlash选项卡: 烧写启动文件 烧写Bootstrap步骤:“Enable NandFlash” -> “Pmecc configuration" -> "Send Boot File",其中PMECC配置如下:   由于我们用的SAMSUNG的K9F2G08U0C-SIB0: Block(Erase) size是0x20000 Page size是2048…

SAM9X5 NANDFLASH预烧写工程生成

背景 之前公司用ATMEL的SAM9G25,采用NAND FLASH启动,ECC采用CPU自带的PMECC控制器硬件产生和检测,虽然PMECC采用BCH编码,但是由于变种很多,在周立功的SmartPRO 5000U-PLUS编程器中找不到与之对应的ECC算法。后来为了能使用编程器预烧写FLASH,便从Bootstrap、uboot和uImage全部采用linux mtd Ecc校验算法。 做法 首先确定烧写启动文件(包括Bootstrap 、uboot、uImage和Ramdisk)的所有扇区均无坏块。 执行: nanddump -o -s <start_addr> -l <size> -f <filename> /dev/mtdx 其中-o意思是输出oob数据区 这样我们分别dump出启动文件的各个部分。即可在SmartPRO 5000U-PLUS编程器中使用,在编程器选择ECC信息时需要选择文件自带OOB区即可。