ataradov / mcu-starter-projects Goto Github PK
View Code? Open in Web Editor NEWSimple starter projects for bare-metal MCU development
Simple starter projects for bare-metal MCU development
Demo.UF2 is executing without any issues.
But when I use Demo.elf, the program is not executing.
I am able to load blink.elf(blink program from PICO SDK 1.5.0) successfully using picoprobe to target rp2040
I love the idea of this project, but I'm learning to use the RP2040 and have no idea how, using your starter pack, I can initialize SPI at 10MHz, for example, and send and receive data. Is there any example code?
Annoyingly recent versions of Clang are always generating exidx which causes a link failure even when exceptions are explicitly disabled. To work around this I modified your linker script for the MCU I was testing, SAMD10, to exclude those sections [see following snippet]. Are you interested in me submitting patches like this to the mcu-starter-projects to build with Clang?
/DISCARD/ :
{
// Clang always produces at least exidx so explicitly DISCARD as they are not needed
*(.ARM.exidx);
*(.ARM.exidx.*);
*(.ARM.extab.*);
}
For the rp2040 example, the toggle occurs when a "button" on GPIO 18 is pulled low, shown here:
I'd like to see if the bootsel button can be used in addition to this. But, the bootsel button is a little bit special. It requires some logic in order to read it's current state. Here's what the the pico-examples shows is needed:
My request is if you could implement the get_bootsel_button
function using your extremely lightweight mcu-starter-projects/rp2040
code. I don't really see any examples of people using this "built in" bootsel button, likely because it requires this extra bit of work to check it's value. Without having access to the Pico-SDK, how would you implement this function so that both GPIO 18 and/or the bootsel button could be used for this example?
I would like to call __libc_init_array() but the provided starter project toolchain can't seem to find and implementation for it. What would be needed to support it?
Thank you
These files are not standalone for example in the C21 example , where does the " HAL_GPIO " source code reside , what HAL are you assuming the user has
Hi,
I've been using the projects, and they work very well. I'm specifically using /tree/master/samd21 , and I was wondering what would be necessary to have C++ support, using for example the arm-none-eabi-g++ compiler.
When changing to that compiler I get the following errors in the vector table definitions:
makefile
##############################################################################
BUILD = build
BIN = Demo
##############################################################################
.PHONY: all directory clean size
CC = arm-none-eabi-g++
OBJCOPY = arm-none-eabi-objcopy
SIZE = arm-none-eabi-size
...
errors:
$ make
CC build/main.o
cc1plus: warning: command line option '-std=gnu99' is valid for C/ObjC but not for C++
../main.c: In function 'int main()':
../main.c:142:13: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
CC build/startup_samd21.o
cc1plus: warning: command line option '-std=gnu99' is valid for C/ObjC but not for C++
../startup_samd21.c:37:12: error: 'void irq_handler_nmi()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:70:12: error: 'void irq_handler_i2s()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:69:12: error: 'void irq_handler_ptc()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:68:12: error: 'void irq_handler_dac()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:67:12: error: 'void irq_handler_ac()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:66:12: error: 'void irq_handler_adc()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:65:12: error: 'void irq_handler_tc7()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:64:12: error: 'void irq_handler_tc6()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:63:12: error: 'void irq_handler_tc5()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:62:12: error: 'void irq_handler_tc4()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:61:12: error: 'void irq_handler_tc3()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:60:12: error: 'void irq_handler_tcc2()' aliased to undefined symbol 'irq_handler_dummy'
../startup_samd21.c:59:12: error: 'void irq_handler_tcc1()' aliased to undefined symbol 'irq_handler_dummy'
...
Thank you
EDIT: The issue was a misunderstanding on the operation of the uart. It transmits when a button is pressed, but not continuously.
@ataradov My host is raspbian stretch lite. Can you recommend a way to receive and display the data received over the edbg virtual uart? I believe it enumerates as /dev/ttyACM0.
I have tried putty, minicom, microcom and some other means, but with no data received of any kind.
I'd very much appreciate instructions that are known to work.
Regards, Mark.
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.