微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从外壳挂起运行bossac

如何解决从外壳挂起运行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 举报,一经查实,本站将立刻删除。