博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
9260与SAM-BA连接(转)
阅读量:4569 次
发布时间:2019-06-08

本文共 1065 字,大约阅读时间需要 3 分钟。

对于AT91SAM9260的bootloader的烧写,常常会遇到这样的问题:对于干净的NAND FLASH(即没有烧写过任何东西),AT91SAM9260与sam-ba很容易连接成功,但当烧写过bootloader(包括Bootstrap)后,则怎么也连接不上sam-ba了。

对于这个问题,我们先来了解下AT91SAM9260与sam-ba的连接原理,不管任何问题,先弄清原理对于解决问题都是必要的。

对于连接原理,且看从网络中搜索到的答案,如下所述:

AT91SAM9260与SAM-BA的连接是由于芯片内有一段固化的代码运行起来后才会检测到目标板并建立连接。   

假设现在你烧写了Bootstrap进去,芯片上电后发现有可运行的代码,从而就不执行片内固化的那个代码。因此,就无法与SAM-BA建立连接。解决方法主要有以下几个方面:   

    1.  在开发板上已经预留了处理这个问题的硬件,即有个按钮,一旦这个按钮按下,测清除flash中的所有代码,以便让芯片上电后执行其片内固化的代码。当然,这个要bootstrap里面软件的支持,就是bootstrap检测按钮是否按下,若按下则清除。这样,芯片上电检测不到有效的、可执行的代码就会执行片内固化的部分。问题就解决了……^_^   

    2.  还有一个比较不专业的办法,但很行至有效。我的开发板没有设计按钮,也没有在bootstrap中设计清除代码。但我这里有一招就是短接nand flash(我板子上没有nor flash和data flash)的地址线,大概是42脚左右的位置都行。这样做的目的就是让芯片不能正确的将nand flash中的代码正确搬运到sdram中,因此芯片内的固化代码依然会执行。这就解决了和SAM-BA不能连接的问题。O(∩_∩)O哈哈~   

    3.  因为我的板子上没有nor flash和data flash,因此只是根据nand flash的方法处理。其它flash按照类似的方法,只要让代码不能正确启动就可以了。祝大家好运……^_^  。

弄清了原理,这个问题,就不难解决了,我的板也一样,没有跳针,但我没用上述搜索到的方法,而是通过短接SDRAM的第7和第8引脚来解决的,具体如下所述:

1. 断开系统电源;

2. 用镊子短接SDRAM的第7和第8引脚,不松开;

3. 系统上电,等待4到5秒后,松开镊子,就可以连接成功,重新在sam-ba找到对应的串口。

转载于:https://www.cnblogs.com/embedded-linux/p/4726695.html

你可能感兴趣的文章
启动程序添加启动脚本
查看>>
CF1194E Count The Rectangles
查看>>
Gym100212C Order-Preserving Codes
查看>>
ARC076F Exhausted
查看>>
TC1570 DesertWind
查看>>
CF277D Google Code Jam
查看>>
(七)unittest单元测试框架
查看>>
(八) 自动化测试的实例(以浏览器为例)
查看>>
js获取单选框和复选框的值并判断值存在后允许转跳
查看>>
任务一:零基础HTML编码
查看>>
C#类和结构以及堆和栈大烩菜(本来就迷,那就让暴风来的更猛烈吧!)
查看>>
94. Binary Tree Inorder Traversal
查看>>
MongoDB安装及多实例启动
查看>>
[css]我要用css画幅画(三)
查看>>
eletron打包
查看>>
numpy
查看>>
连接池
查看>>
使用易语言COM对象取文件版本
查看>>
2.16.10.init进程详解1
查看>>
centos7 install idea and x-windows
查看>>