bobbin-rs / bobbin-cli Goto Github PK
View Code? Open in Web Editor NEWA Rust command line tool to simplify embedded development and deployment.
Home Page: https://www.bobbin.io/
License: Apache License 2.0
A Rust command line tool to simplify embedded development and deployment.
Home Page: https://www.bobbin.io/
License: Apache License 2.0
When calling bobbin gdb
with j-link you must first start the GDB server and set port manually. Wouldn't it be more user-friendly if JLinkGDBServer was started in a child process? This way one could have the port specified in the config, and make sure the server started on the same port as gdb eventually would connect to.
This would perhaps also remove the need for the bobbin jlink
command, making the interface more uniformly over all debug hardware.
Hi there,
Bobbin expects teensy_loader_cli’s command-line signature to have the same format as version 2.1 does (mcu passed as --mcu
) whilst some versions marked as “2.1” instead accept -mmcu
, and thus aren’t detected by bobbin.
Version 2.1 as shipped by Homebrew is one such version. I’ve opened an issue (Homebrew/homebrew-core#17087) to get the version in Homebrew updated to the “newer” 2.1, but it may be useful for bobbin to provide compatibility with the prior version, the source to which remains hosted on pjrc’s site at https://www.pjrc.com/teensy/teensy_loader_cli.2.1.zip.
I’m using bobbin with an Adafruit PyPortal, and every time I flash I get a "SAM-BA operation failed" error.
I compared how bobbin calls bossac
with how the Arduino IDE does it, and bobbin has an -e
flag for erasing that Arduino doesn’t have.
When I remove the -e
from bobbin, I can flash the PyPortal without issue.
Should this be an option that’s available? Would we want to default to still erasing but be able to set "--no-erase" or "erase = false" somewhere?
With some guidance on how you’d like it configured I could make the PR.
Is this feature planned? And do you have any idea how much work it would be to integrate it?
I guess that a JLinkGDBServer would have to be started in one process and another process would have to listen to the SWO port? Depending on the workload I might be interested in contributing to land this feature.
For example, it doesn't work when running bobbin inside a workspace.
A more reliable approach would be to parse the output of cargo metadata --format-version 1
and use its target_directory
field.
It doesn't seem to load
Hey,
I'm setting up and embedded toolchain and I've noticed that bobbin is not able to find my gcc.
I noticed that it does check versions through regexing on the output of arm-none-eabi-gcc --version
. I think the matching groups are incorrect, but I don't really know why.
Here's my output of arm-none-eabi-gcc --version
:
$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2018-q4-major) 8.2.1 20181213 (release) [gcc-8-branch revision 267074]
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
bobbin check
output:
$ bobbin check
Bobbin 0.8.5
Rust 1.34.0 (91856ed52 2019-04-10)
Cargo 1.34.0 (6789d8a0a 2019-04-01)
Xargo 0.3.13
GCC Not Found
OpenOCD 0.10.0
JLink V6.44g (Compiled Apr 18 2019 17:15:12)
Bossa
Teensy Not Found
dfu-util 0.9
At the moment all the bobbin commands expect a cargo build underneath, it'd be neat to be able to specify a binary (and location) to use bobbin to flash a binary manually
Hi, SWO support has been merged in the BMP, would it be possible to add this?
If there is need for hardware to test it, I can be of assistance, as I have SWO supporting hardware available.
See here for the SWO details: https://github.com/blacksphere/blackmagic/blob/master/UsingSWO
Hi! I'm using Bobbin with some Adafruit M0/M4 devices, and I had to hack it to add in the -o
parameter to bossac
.
Apparently since bossac
1.9, it defaults to flashing at 0x00000000, but that runs into the locked bootloader.
For M0 devices I needed to add -o 0x2000
and for M4 I needed -o 0x4000
.
I was wondering if you’d take a PR to fix this and what approach would be good.
I was thinking either adding the offset as a value on FeatherDevice
(and having device.rs enumerate more Adafruit boards and fill in this value) or have it as a config that you set in the .bobbin config.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.