nonolith / usb-xmega Goto Github PK
View Code? Open in Web Editor NEWUSB stack for Atmel ATxmega32A4U and related parts
Home Page: http://nonolithlabs.com
USB stack for Atmel ATxmega32A4U and related parts
Home Page: http://nonolithlabs.com
Hello nonolithlabs et al.,
I'm thoroughly impressed by this very slimmed down USB boot loader! I'm compiling it for ATxmega64a3u (works perfectly), programming it along with fuses—and I'm perfectly able to connect to using flash.py.
The problem is that I just can't make it accept my firmware: I get a CRC error. I've tried different APP_SECTION_PAGE_SIZEs (I'm always confused whether to use bytes or words), but that doesn't help.
Bootloader ID 9090bb01, version 1
Part ID: 1e964206 = ATxmega64A3U
Flash size: 65536 (256-byte pages)
Hardware: CEE Version: v2b
Loading input file panelboard_atxmega64a3u.hex
Size=36229; CRC=0xb07295
Erasing... done
Flashing... 100%
Checked CRC is 0x341ee1
CRC DOES NOT MATCH
(No, it's not a CEE board, I just haven't changed the name and version.)
I have a buzzer on the board, and I make it beep when the programming starts and when the CRC is requested—the two beeps are very close in time.
Nothing is programmed in the app. section; reading from the device gives me erased memory:
:10000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00
:10001000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0
:10002000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0
:10003000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFD0
:10004000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC0
:10005000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFB0
....
I'm guessing there is a compatibility issue with the sp_driver.S—is there something obvious I've missed? Anyone else with similar problems?
Hi guys, i'am missing some config? In windows it says Unknown USB device(Device Descriptor Request failed) and in mac is not recognize also. Thank you in advance
Hi, would you consider updating the license of the bootloader to MIT? I noticed that most of this project has been relicensed to MIT and moved to https://github.com/kevinmehall/usb, but the bootloader code wasn't and so is still under GPLv3+.
Hello,
when trying to use the bootloader in this project I ran into a problem with a self-compiled binary.
The µC does not show up in lsusb and dmesg gives me the following:
[ 8276.726102] usb 2-4: new full-speed USB device number 43 using ohci-pci
[ 8277.134380] usb 2-4: device not accepting address 43, error -62
[ 8277.134413] hub 2-0:1.0: unable to enumerate USB device on port 4
I'm using the AVR8 Toolchain from Atmel with avr-gcc version (AVR_8_bit_GNU_Toolchain_3.4.3_1072) 4.8.1
It works using your given binary, but I have to change the I/O-Pins.
Greetings,
LittleFox94
Hi,
I tested your usb-xmega stream example successfully with an ATXMega192A3U, so I decided to add more stuff to the AVR code and also to change the python code. So I added a new C++ class AD7606 (for an D/A converter), included the AD7606.h in the main file and added AD7606.cpp to the line saying "CPPSRC =" in the Makefile.
But to use the class in the main file I had to convert the main file and all its includes to C++ too. But before I go to work... Are you planning to provide a C++ version of the USB framework?
Hi there,
I am using this library for a project where I can read voltages on a AD and send it to python and vice versa. Actually I have the problem that python gives me a LIBUSB_ERROR, because it can not write to the device. This mostly happens after writing 1024 bytes to the ATXMega192A3U. But sometimes it works like a charm.
Sending bytes to the host makes no problem at all, only receiving bytes from the host. Currently I am using a very simple protocol to communicate with the XMega:
Maybe you can help me with developing the main loop which should always be able to receive the data that comes from the host? Or do you have an example framework for a simple protocol between Host and XMega?
Thank you in advance and best Regards,
Nicolas
I try to implement a usb communication between a xmega128A3 or xmega128A1 and my pc. But it don't work.
Could someone help me with a working example?
Thanks Martin
In the function CALLBACK_USB_GetDescriptor in the exsample you wrote:
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xFF);
are you sure?
I think it should look like this:
const uint8_t DescriptorType = (wValue >> 8);
const uint8_t DescriptorNumber = (wValue & 0xF);
Regards
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.