当前位置: 首页 > Linux

sam-ba(Linux)的使用

时间:2023-04-06 18:56:12 Linux

sam-ba(Linux)单片机烧录工具的使用1.下载从官网网址:https://www.microchip.com/中的搜索框下载合适的版本右上角搜索输入sam-ba进行搜索,选择合适的版本下载,然后解压。2.从闪存启动默认情况下,samv7从ROM启动,我们希望它从闪存启动。使用SAM-BA,我们可以在芯片上设置一个非可变配置位,以便它在电源循环后从闪存启动。(也可以不用重新上电直接使用下面提到的reset操作)$cd~/Downloads/sam-ba_3.3.1$./sam-ba-pusb-bsamv71-xplained-abootconfig-cwritecfg:bootmode:flash需要在下载的sam_ba目录下运行。执行命令后,再次上电即可从flash启动。3.加载boot_loader到Flash$./sam-ba-pusb-bsamv71-xplained-ainternalflash-cerase-cwrite:/home/xuhui/sub/dashboard_indicator/embedded-sw_test/bazel-bin/products/dashboard_indicator_loader/dashboard_indicator_loader_app.bin下载自己的Bin文件到flash中,也需要下载到sam-ba目录下。4.reset$./sam-ba_3.3.1/sam-ba-pusb-bsamv71-xplained-areset可以使用该命令直接复位MCU,无需重启电。五、注意事项MCU与SAM-BA的连接是由于芯片中有一段固化代码,运行后会检测目标板并建立连接。假设你现在已经把Bootstrap烧写进去了,给芯片上电后,你会发现它可以运行了,那么就不可能和SAM-BA建立连接了。解决方案主要有以下几个方面:开发板上已经预留了处理这个问题的硬件,即有这个按钮按下,flash中的所有代码都会被清除,这样芯片才能执行上电后其片内固化代码。当然,这需要bootstrap中软件的支持,即bootstrap会检测按钮是否按下,按下则清空。这样,如果芯片上电后检测不到有效的可执行代码,就会执行固化在芯片上的部分。一种不太专业的方法,但非常有效。如果开发板没有设计按钮,也没有在bootstrap中设计明文代码。不过我这里有一个技巧是把nandflash的地址线短接(如果板子上没有norflash和dataflash),大概42脚左右。这样做的目的是让芯片无法将nandflash中的代码正确的传输到sdram中,所以芯片中固化的代码还是会被执行。这样就解决了无法连接SAM-BA的问题。