对于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找到对应的串口。

9260与SAM-BA连接(转)的更多相关文章

  1. 【原创】leetCodeOj --- Largest Number 解题报告

    原题地址: https://oj.leetcode.com/problems/largest-number/ 题目内容: Given a list of non negative integers, ...

  2. 后缀自动机(SAM)奶妈式教程

    后缀自动机(SAM) 为了方便,我们做出如下约定: "后缀自动机" (Suffix Automaton) 在后文中简称为 SAM . 记 \(|S|\) 为字符串 \(S\) 的长 ...

  3. iOS 开发:TCP三次握手连接

    在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接. 第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认: 第二次握 ...

  4. hihocoder SAM基础概念

    后缀自动机一·基本概念 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi:今天我们来学习一个强大的字符串处理工具:后缀自动机(Suffix Automaton,简称 ...

  5. Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法

    Navicat for MySQL连接MYSQL

  6. Android蓝牙连接以及数据接收发送

    1.加入权限 <uses-feature android:name="android.hardware.bluetooth_le" android:required=&quo ...

  7. 蓝牙模块连接后出现ANR,日志记录

    11-25 16:29:48.433 14507-14561/myapplication.com.myblue W/MALI: glDrawArrays:714: [MALI] glDrawArray ...

  8. HTTPS连接的前几毫秒发生了什么——Amazon HTTPS案例分析

    转自: http://blog.jobbole.com/48369/ 提示:英文原文写于2009年,当时的Firefox和最新版的Firefox,界面也有很大改动.以下是正文. 花了数小时阅读了如潮的 ...

  9. 802.11协议帧格式、Wi-Fi连接交互过程、无线破解入门研究

    相关学习资料 Linux黑客大曝光: 第8章 无线网络 无线网络安全攻防实战进阶 无线网络安全 黑客大曝光 第2版 http://zh.wikipedia.org/wiki/IEEE_802.11 h ...

随机推荐

  1. 关于Xcode上的Other linker flags

    Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等.还记得我们在学习C程序的时候,从C代码到 ...

  2. Linux调度器 - 进程优先级

    一.前言 本文主要描述的是进程优先级这个概念.从用户空间来看,进程优先级就是nice value和scheduling priority,对应到内核,有静态优先级.realtime优先级.归一化优先级 ...

  3. openssl之EVP系列之9---EVP_Digest系列函数的一个样例

    openssl之EVP系列之9---EVP_Digest系列函数的一个样例     ---依据openssl doc/crypto/EVP_DigestInit.pod翻译     (作者:Drago ...

  4. mysql-5.7中的innodb_buffer_pool_prefetching(read-ahead)详解

    一.innodb的read-ahead是什么: 所谓的read-ahead就是innodb根据你现在访问的数据,推测出你接下来可能要访问的数据,并把它们(可能要访问的数据)读入 内存. 二.read- ...

  5. Laravel 事件系统用法总结(监听事件,观察者模式)

    看这篇文章先复习一下设计模式 : https://www.cnblogs.com/fps2tao/p/9640338.html 在理解了观察者模式后,我们开始正文 Laravel 的事件提供了一个简单 ...

  6. 编辑控件的警告提示是:This text field does not specify an inputType or a hint

    没有设置editText的inputtype属性,比如<android:inputtype="textpassword"> http://binuu.blog.51ct ...

  7. 用js实现预览待上传的本地图片

    js实现预览待上传的本地图片,代码如下: <form name="form5" id="form5" method="post" ac ...

  8. %02x和%2x区别

    %02x  (x代表以十六进制形式输出,02代表不足两位,前面补0输出,如果超过两位,则以实际输出) 例: #include <stdio.h> #include <stdint.h ...

  9. angular学习笔记(七)-迭代3

    每个迭代项中还有以下三个变量: $first: 判断是否是迭代第一项,如果是,得到true,如果不是,得到false $middle: 判断是否迭代中间项(既不是第一项也不是最后一项的都是中间项),如 ...

  10. 从INT 到STRING的几种方法

    1.   int sprintf( char *buffer, const char *format [, argument] ... );      <stdio.h>例如: int s ...