从外壳挂起运行bossac

问题描述

嵌入式ARM开发的新手我正在玩刚刚收到的TinyZero板,这是一个基于SAMD21的板。我能够通过Arduino IDE编译/刷新/运行示例草图,但是由于我最终对基于非idea的开发感兴趣,因此我查找了Arduino用于将我的二进制文件放入芯片的flashing命令来运行它直接从终端输入相同的命令。

如下所示,Arduino在我的主板上使用了bossac,这似乎完全正确。通过IDE,此命令已成功完成,并且我看到该板正在运行我刚刚对示例程序进行的修改

  1.7.0-arduino3/bossac --port=ttyACM0 -U true -i -e -w -v Blink.ino.bin -R

奇怪的是,当我从bash运行此命令时,它永远不会完成。当我在sudo下运行它时,同样的问题。除了编译草图之外,IDE似乎没有其他功能可以运行bossac。 oo,我在做什么错?添加选项-d不会报告任何有用的信息。

使用strace进行检查,好像板子在初始握手期间没有响应,请参见下文。

openat(AT_FDCWD,“ / dev / ttyACM0”,O_RDWR | O_NOCTTY | O_NONBLOCK)= 4

ioctl(4,TCGETS,{B921600 -opost -isig -icanon -echo ...})= 0

ioctl(4,TCGETS,{B921600 -opost -isig -icanon -echo ...})= 0

ioctl(4,SNDCTL_TMR_START或TCSETS,{B921600 -opost -isig -icanon -echo ...})= 0

ioctl(4,TCGETS,{B921600 -opost -isig -icanon -echo ...})= 0

nanosleep({tv_sec = 0,tv_nsec = 500000000},NULL)= 0

select(5,[4],NULL,NULL,{tv_sec = 0,tv_usec = 100000})= 0(超时)

write(4,“ N#”,2)= 2

select(5,[4],NULL,NULL,{tv_sec = 0,tv_usec = 100000})= 0(超时)

write(4,“ w00000000,4#”,12)= 12

select(5,[4],NULL,NULL,{tv_sec = 0,tv_usec = 100000})= 0(超时)

close(4)= 0

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)