标签 atmel 下的文章

MYS-SAM9X35开发板烧写Linux系统

手上有一块MYS-SAM9X35单板开发板,芯片是ATMEL AT91SAM9X35。下面是烧写的步骤。

MYS-SAM9X35板上有5个跳线,功能如下:

  • JP1, connect = Force power. disconnect = Normal
  • JP2, connect = Enable CAN RX, disable DEBUG serial. disconnect = Enable DEBUG serial, disable CAN RX
  • JP3, connect = Enable NAND Flash. disconnect = Disable NAND Flash
  • JP4, connect = Enable SPI Flash. disconnect = Disable SPI Flash
  • JP6, connect = Enable DEBUG serial. disconnect = Disable DEBUG serial

有两个按键,功能如下:

  • K1 = Reset
  • K2 = Wakeup

烧写步骤

  1. 连接JP6, 断开JP3, JP4, JP2
  2. 使用USB线连接PC和开发板的USB MINI接口(J12)
  3. 打开串口,上电后可以看到"RomBoot"的字符
  4. 打开SAM-BA软件,选择对应串口开发板
  5. 连接JP3,JP4。执行TCL烧写脚本
  6. 烧写过程中,可以看到串口有SAM-BA操作的输出信息
  7. 烧写结束后,按下K1复位

MYS-SAM9X35开发板的调试串口在J13扩展座上,官方有一个转接小板,转接板上的JP14, JP15的Pin1, Pin2短接。

ATMEL SAMA5D36的Flash分区结构

这块板使用Linux 3.6.9版本,使用了dts方式初始化bsp设备,但很多驱动上并没有对dts全整支持。Nand上的分区信息也只是靠U-Boot来传输,dts并没有配置。当前的分区信息如下:

Bootstrap: 0x00000000 ~ 0x40000, size = 256KB
U-Boot: 0x40000 ~ 0xC0000, size = 512KB
U-Boot Env: 0xC0000 ~ 0x180000, size = 768KB
DTB file: 0x180000 ~ 0x200000, size = 128KB
Kernel: 0x200000 ~ 0x800000, size = 6MB
rootfs: 0x800000 ~ 0x10000000, size = 256 - 8 = 248MB

要修改分区信息的话,Bootstrap,U-Boot的Loadaddr相关的都要修改,U-Boot传递给Kernel的mtd信息也要修改。实际上主发还是在U-Boot上,Bootstrap只需要知道U-Boot的地址就可以,Load后跳转就交给U-Boot。SAMA5D3系列的芯片使用了SAM-BA工具来提供烧写功能。

下面是SAM-BA中对NAND的烧写地址定义:

## NandFlash Mapping
set bootStrapAddr   0x00000000
set ubootAddr       0x00040000
set ubootEnvAddr    0x000c0000
set dtbAddr         0x00180000
set kernelAddr      0x00200000
set rootfsAddr      0x00800000
## u-boot variable
set kernelLoadAddr  0x22000000
set dtbLoadAddr     0x21000000 

Atmel SAMA5D27调试记录

最近使用Atmel SAMA5D27芯片作为开发板的主控芯片,结果一路坎坷。下面是在调试中遇到的问题,仅供参考。

启动FUSE烧写

SMAA5D3,SAMA5D4上电后会从芯片启动ROMBOOT程序,然后跟据启动列表依次检查启动项,如果没有就进入SAM-BA Monitor。而SAMA5D27上有FUSE和GPBR,上电先根据FUSE的启动项,检查可启动项目。GPBR是允许用户自定义的启动配置register,前提是RTC要有电池,否则掉电会丢失register上的值。FUSE在启动前需要先烧写一次,也只能烧写一次。默认是没有启动项的,如果烧写错误也就挂了。

SD或eMMC启动

这个芯片目前有两版本,A和B版本。B版本有说明MMC无法启动的情况,A版本没有说明。实际测试时,A版本一样有无法启动的情况。

SAM-BA烧写软件

SAMA5D27上推荐用SAM-BA 3.1.4版本的,跟之前的版本有很大区别。之前的是使用TCL/TK语言或框架开发,新版使用Qt+QML开发,跨平台性更好了。实际使用中,芯片进入SAM-BA Monitor模式后,SAM-BA去连接串口时提示无法进入“binary mode”,要多试几次才行。AT91论坛上有写到,需要按下BOOT_DIS的按键。

最新文章

最近回复

  • Blackrose: 感谢拍砖!嗯,那句话...
  • aa: “Raspberry...
  • Blackrose: 外部只是帮你把芯片启...
  • : 内部时钟比外部的频率...
  • Blackrose: 你这评论比正文更有内容么
  • 7hao: CR+LF ...
  • Blackrose: 可以是你更新软件源后...
  • sxk: 博主,我的系统是ub...
  • Blackrose: 你深得精髓么
  • qihao: 这篇文章的简单总结就...

分类

归档

其它