打印

MDK9G20开发板学习笔记(AT91SAM9G20)

[复制链接]
5465|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
MDK9G20开发板是针对ATMEL公司AT91SAM9G20芯片开发的一款高性价开发板。对于因芯片性能或者学习而转移过来的开发者来说,“裸奔”能够熟悉芯片资源,增加对芯片的透明程度。本学习笔记主要讲述实现过程和验证MCUZONE提供的源码(bootstrap)。以getting started为例,开发环境keil
一、代码结构分析:
1,DEBUG初始化,设置debug模式,串口通信波特率和系统时钟
2,配置PID、定时器、按键中断和LED
3,进入while循环,定时器定时和按键产生中断
4,因程序在sram中运行在keil编译时,target选择sram工程,生成bin文件(注意文件大小不能超过芯片ram空间,否则编译出错)
二、烧写程序
代码“裸奔”不需要操作系统,如果有操作系统先擦除,用户可启动开发板进入U-BOOT下,擦除nandflash。在这做这些工作之前还需要做意见事情,在电脑上安装ATMEL官方提供的sam-ba软件,这款软件光盘资料上有也可以去官方下载安装。由于必须启动9G20芯片上的SAM-BA相应配置才能进入烧写状态。用户可采用超级终端对开发板进行交叉编译,进入到u-boot下,运行指令“nand scrub”擦除芯片,系统会提示是否擦除NANDFLASH。选择Y即可完成擦除。在核心板正常的完整的情况下擦除工作需要将方口USB线接上,RS232串口线接在DEBUG串口座用于输出调试信息,然后打开电源。擦除成功后开发板复位,此时在超级终端输出“ROMBOOT”。详细请参考光盘相关文档。
接下来的工作是程序烧写,sam9G20支持BOOT启动,可在nor flashdataflashnandflashSD卡上启动。除了nor flash外其他方式都依赖于片上bootrom,当芯片bootram启动时,系统会轮循查找存储媒介(nand flash等),bootrom与芯片本身有关,可参考芯片数据手册,这里不做深入讲解,开发板默认nand启动,可通过板上跳线更改。代码烧写需要用到j-link,在用j-link之前需要通过j-link找到内核,打开sam-ba软件,选择端口号连接,烧写bootstrap要选择send
boot
file
。运行sam-ba执行enable nand flash脚本,然后选择send boot file选项,点击执行。接着加载编译生成的bin文件,send file,在发送完成之后建议校验一下。当这些都OK了,能在超级终端上打印正确的信息了“112112112112………”,本人能力有限,如发现问题请予以斧正。

输出结果:



参考资料:
1,MAN3008A文档《“裸奔”指南》,可以到mcuzone官方论坛上下载
2,MAN3025B文档,使用Linux测试MDK9G20开发板,光盘附带
3,AT91sam9G20 datasheet

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

53

帖子

2

粉丝