接口是atmel sam-ba监视器。
carioca的Python项目详细描述
carioca是sam ba的变体,在本例中是sam-ba的变体。 sam-ba是一个成熟的系统程序员 由atmel支持引导他们的各种sam微控制器。 sam-ba是专有的,这意味着(大多数)源代码是 对sam-ba用户不可用。因此,如果有什么东西坏了,只有 阿特梅尔可以解决这个问题。
相反,carioca是一个最小的开源工具 目标是山姆-巴。它是最小的,因为它没有任何 初始化硬件组件(如 DRAM或编程闪存。相反,Carioca提供了足够的 支持启动主引导加载程序,然后 操作系统,如Linux。所有闪存编程等都可以 在目标操作系统内完成。
carioca有两种模式:脚本模式和终端模拟模式。它 以脚本模式启动,在脚本模式下执行零个或多个脚本 存储在文件中。还有一种交互脚本模式,其中 用户可以在终端中交互键入命令。一旦剧本 完成后,carioca通常会切换到终端仿真模式。在 这种模式下,Carioca只需从目标的 在中启动了到终端Carioca的串行接口。这使得 用户观察目标操作系统的引导过程, 登录并根据需要执行命令。
有了这两种模式,carioca可以启动sam 微控制器通过单个串行接口(如调试 串行端口),而不是sam-ba通常需要的两个端口 (调试串行端口和USB串行接口)。
carioca完全是用python 3编写的,脚本语言 受到另一个现在已经失效的python项目sam_i_am的影响 (不过,这两个项目并不共享实际的代码,它们的脚本是 不兼容)。
快速启动
安装时使用:
pip install --user carioca
(或者使用“pip3”,如果这是提供python 3的版本)。
将目标板与sam微控制器连接到计算机 使用其调试串行端口或USB串行端口。打开 Linux,前者通常显示为设备/dev/ttyusb0, 后者是/dev/ttyacm0。
如果目标的串行端口在 计算机和目标的串行端口速度是115200波特,然后 像这样启动Carioca:
~/.local/bin/carioca
可以使用选项-p指定非默认串行端口(例如 “-p/dev/ttyacm0”)和-b选项来指定非默认值 波特率(例如“-b 57600”)。
启动目标板。假设目标尚未设置 对于自动引导,您应该看到“romboot”提示。如果是的话, 继续。
键入“ctrl-]quit”退出Carioca的终端仿真器,然后 按键输入。
使用以下命令启动Carioca的交互式脚本模式:
~/.local/bin/carioca -
这将给您一个“carioca$”提示。您可以键入“help”以获取 可用命令的列表。执行第一个命令时 需要与目标互动,Carioca报告是目标的 Sam-BA监视器版本。例如:
carioca$ writeb 0x200000 42
将值42写入内存位置0x200000,并用:
Connected to SAM-BA Monitor v1.1 Jul 31 2015 15:09:09
通常,您需要将主引导加载程序发送到 微控制器的sram然后开始执行。这可能是 使用:
carioca$ sendimg 0x200000 "at91bootstrap.bin" carioca$ go 0x200000
一旦执行“go”命令,carioca将切换到 终端模拟模式,以便您可以观察引导过程和 根据需要与目标互动。
当你和目标玩累了系统,类型 “ctrl-]quit”,然后按enter键退出Carioca。