ARM Cortex M0 Artykuły na programistamag 73 74 75 Rafała Kozika

Odpowiedz Nowy wątek
2019-07-08 12:06
0

Cześć.

Nie wiem czy wątek Embedded to dobre miejsce na to, z góry przepraszam jeśli nie. Chociaż piszę tutaj teraz z konkretnym problemem, dałem ogólną nazwę tematu, ponieważ może być tutaj kontynuowana dyskusja o tym, o tych artykułach, coretx m0 itd. Ok, do rzeczy.

Zainteresowały mnie artykuły Rafała Kozika na temat CortexM0. Począwszy od artykułu "Małe jest piękne" z numeru 73 programisty do numeru 75 w którym jest opisane jak kodować w C. Kupiłem 2 miesiące temu tę płytkę Nucleo-F031K6, do tej pory próbowałem klepać kod w assemblerze, a teraz chciałem w C. Z pierwszym kodem który miga diodą nie ma problemu, wklejam do terminala ten kod który jest tam podany w tym artykule, dodaję / Vector table / asm(".long 0x20001000"); asm(".long main+1"); bo bez tego nie będzie migać, program się kompiluje, wgrywam go i wszystko działa jak należy. Dioda miga.

arm-none-eabi-gcc -Wall -g -mcpu=cortex-m0 -mthumb -O0 -Ttext 0x8000000 -e main -nostartfiles -o main.elf main.c

Jednak z tym przykładem jak wysyłać i odbierać informacje przez port szeregowy mam problem przy kompilacji. Tak samo, kopiuję te listingi z artykułu i wklejam do terminala.

arm-none-eabi-gcc -c -Wall -g -mcpu=cortex-m0 -mthumb -O0 –specs=nano.specs -o uart.o uart.c
 arm-none-eabi-gcc -g -o uart.elf -T linker.ld --specs=nano.specs -nostartfiles -mcpu=cortex-m0 -mthumb startup.o uart.oarm-none-eabi-size uart.elf

I dostaję m.in błędy arm-none-eabi-gcc: error: pecs=nano.specs: No such file or directory oraz arm-none-eabi-gcc: error: uart.oarm-none-eabi-size: No such file or directory arm-none-eabi-gcc: fatal error: input file 'uart.elf' is the same as output file które widać na rysunku poniżej.

Ze skopliowaniem kodu startowego czyli komendą nie ma problemu. Jednak z tym wyżej wywala jakieś błędy i nie bardzo wiem jak ten problem rozwiązać.

arm-none-eabi-gcc -g -o uart.elf -T linker.ld --specs=nano.specs -nostartfiles -mcpu=cortex-m0 -mthumb -I CMSIS startup.S uart.c

Dodam że pobrałem instalki GCC gcc-arm-none-eabi-8-2018-q4-major-win32 z https://developer.arm.com/too[...]nu-toolchain/gnu-rm/downloads
OpenOCD serwer GDB z github.com/gnu-mcu-eclipse/openocd/releases
Niby wszystko powinno być ok, skoro pierwszy program w C do migania diodą działa, a jednak nie jest i nie wiem skąd te błędy. Albo coś przeoczyłem, nie wiem...

Może ktoś miał taki sam problem albo wie jak to rozwiązać.
Pozdrawiam.

title

Pozostało 580 znaków

2019-07-15 11:24
0

Weź Ty sobie człowieku klasykę polskiego internetu którą każdy zna i wie jak z nią sobie radzić a nie wymyślasz :P
http://www.freddiechopin.info/

Pozostało 580 znaków

2019-07-16 13:47
0
alagner napisał(a):

Weź Ty sobie człowieku klasykę polskiego internetu którą każdy zna i wie jak z nią sobie radzić a nie wymyślasz :P
http://www.freddiechopin.info/

Dzięki za link. Jest przygotowany kod pod NUCLEO-F042K6 które parametrami jest prawie identyczne z F031K6 ale ma 6 kb ramu, a to co ja mam ma 4 kb ramu. Ale może aż tyle nie jest potrzebne żeby to uruchomić. I jest jakiś system plików a takiego czegoś szukałem. Więc ciekawe ;) Dzięki.

edytowany 1x, ostatnio: goose_, 2019-07-16 13:48

Pozostało 580 znaków

2019-07-16 14:55
0

Jak liczysz, że bez skryptu linkera gdzieś daleko zajedziesz to źle liczysz ;)

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0