Strona g?ówna

Menu g?ówne

Witaj na stronie Chopina!
Czwarta wersja distortos - 0.4.0
Wpisany przez Freddie Chopin   
Sobota, 11 Marzec 2017 20:37

Od poprzedniej wydanej wersji - 0.3.0 - mine?o 107 dni, a w repozytorium pojawi?o si? 431 commitów, wi?c czas najwy?szy na kolejn? wersj?! Dzi? wyda?em wi?c czwart? wersj? RTOSa dla mikrokontrolerów napisanego w C++ - pojawi?a si? paczka z distortos 0.4.0. Dzi?ki dodaniu wsparcia dla ca?ej rodziny STM32F7 (a wraz z ni? dla p?ytki 32F746GDISCOVERY), liczba obs?ugiwanych uk?adów wzros?a do 395. Dodatkowo warto wspomnie? jeszcze o dwóch opcjach (ka?da w dwóch wariantach) pozwalaj?cych na wykrycie przepe?nienia stosu oraz o opcji w??czaj?cej sprawdzanie kontekstu funkcji, które nie mog? by? u?ywane w przerwaniach (wszystkie funkcje blokuj?ce, wszystkie funkcje klasy Mutex oraz wszystkie funkcje z namespace'a ThisThread). Dwie ostatnie nowo?ci pozwalaj? na wykrycie najpopularniejszych problemów z którymi musz? si? boryka? twórcy wielow?tkowych aplikacji embedded, a które naprawd? ci??ko jest wy?apa? innymi sposobami - mia?em okazj? przekona? si? o tym nie raz. Ca?kiem niedawno nawet prze?y?em ci??ki szok gdy (w?a?nie dzi?ki jednej z nowych opcji) odkry?em, i? twórcy bibliotek USB z firmy ST nie maj? najmniejszego problemu aby sobie weso?o alokowa? dynamicznie pami?? w przerwaniach...

Zmieniony: Sobota, 11 Marzec 2017 21:02
 
Kolejna wersja OpenOCD - 0.10.0 - ju? dost?pna
Wpisany przez Freddie Chopin   
Poniedziałek, 23 Styczeń 2017 21:20
Nieco ponad pó?tora roku po wydaniu poprzedniej wersji, wczoraj wreszcie ukaza?a si? kolejna edycja OpenOCD oznaczona numerkiem 0.10.0. Ju? dzi? z dzia?u Download > Programy > OpenOCD mo?na pobra? najnowsz? wersj? skompilowan? dla Windows. Paczka z poprzedni? wersj? zosta?a pobrana rekordowe 31000 razy, co daje jakie? 75GB transferu (; Co nowego mo?emy znale?? w tej wersji? Najlepiej odpowie na to oficjalna informacja o tym wydaniu zamieszczona na stronie projektu.
Zmieniony: Poniedziałek, 23 Styczeń 2017 22:51
 
distortos 0.3.0 wydany
Wpisany przez Freddie Chopin   
PiÄ…tek, 25 Listopad 2016 21:16

Wczoraj finalizacji doczeka?a si? trzecia wersja distortos - RTOSa nad którym pracuj? ju? ponad 2 lata, skierowanego przede wszystkim do mi?o?ników C++. W najnowszej wersji - obs?uguj?cej dok?adnie 302 mikrokontrolery - pojawi?o si? sporo nowo?ci, wi?kszo?? dotyczy chyba wbudowanego w system HALa. Wa?niejsze zmiany w najnowszej wersji (w kolejno?ci chronologicznej) to:

Swoj? drog? zupe?nie zapomnia?em tutaj napisa? o wydanej ju? dawno temu wersji 0.2.0. Korzystaj?c z okazji wspomn? wi?c, ?e najwi?kszymi zmianami w poprzedniej wersji by?o dodanie wsparcia dla architektury ARMv6-M (m.in. ARM Cortex-M0), rodziny uk?adów STM32F0 oraz STM32F1.

Paczki z kodem ?ród?owym, najnowsz? dokumentacj? i changelog ze wszystkimi zmianami mo?na znale?? oczywi?cie na stronie projektu.

Zmieniony: PiÄ…tek, 25 Listopad 2016 22:06
 
Jak dzia?a wielow?tkowo???
Wpisany przez Freddie Chopin   
Sobota, 12 Listopad 2016 18:29

Osoby zainteresowane tematem zapraszam do zapoznania si? z pierwszym artyku?em z cyklu wprowadzaj?cego do podstaw systemów czasu rzeczywistego (RTOSów) - Multitasking explained. Artyku? traktuje o absolutnych podstawach, ale w ko?cu od czego? trzeba zacz?? (;

EDIT (03.12.2016): Po d?u?szej przerwie wrzuci?em kolejny artyku? o stanach w?tków i przej?ciach mi?dzy nimi - Task states. Tym razem tekst jest o bardziej zaawansowanych sprawach, cho? stara?em si? aby ca?o?? by?a przyswajalna nawet dla osób które pierwszy raz w ?yciu czytaj? co? o RTOSach. Nie wiem czy mi si? uda?o, ale mam nadziej? ?e tak. Teraz prace nad kolejnymi artyku?ami powinny nieco przyspieszy?, a przynajmniej taki w?a?nie jest plan.

Zmieniony: Sobota, 03 Grudzień 2016 20:56
 
(R)ewolucja w bleeding-edge-toolchain?
Wpisany przez Freddie Chopin   
Ĺšroda, 12 PaĹşdziernik 2016 12:07

Jako ?e znudzi?o mnie ju? rozwi?zywanie problemów stworzonych przez dziwaczny workflow pracowników firmy ARM, a do tego rozwi?zywanie problemów kompatybilno?ci pomi?dzy dystrybucjami Linuxa jest chyba rzecz? wr?cz niemo?liw?, postanowi?em pój?? krok dalej. Przedstawiam wi?c "preview" nowego skryptu "all-in-one" do kompilacji toolchaina, którego ide? jest lekka zmiana aktualnej formy bleeding-edge-toolchain.

Skrypt testowa?em na razie tylko na Linuxie (u siebie, na innym komputerze oraz w systemie Travis-CI - Ubuntu 12.04.5 LTS "precise"), wkrótce testy generacji wersji na Windowsa. Nie da si? wykluczy?, ?e nawet teraz ten skrypt powinien zadzia?a? w ?rodowisku MSYS2 na Windowsie, ale jeszcze tego nie sprawdza?em. Idea jest taka, ?e toolchainów dla Linuxa nie b?d? udost?pnia? w formie "binarnej" - skrypt pozwoli ka?demu skompilowa? toolchaina, który na pewno b?dzie dzia?a? na danej dystrybucji. Wiem ?e taka kompilacja nie trwa 30 sekund, ale pó? dnia te? nie - u mnie wszystko (w??cznie z pobraniem wszystkich ?róde?) trwa 22 minuty. Na wyj?tkowo powolnym wirtualnym systemie Travis-CI trwa to 80 minut. My?l? ?e s? to czasy które mo?na raz na pare miesi?cy po?wi?ci?, zw?aszcza ?e w trakcie takiej kompilacji mo?na przecie? robi? co? innego [; Zreszt? jakby kto? chcia? znacz?co skróci? czas kompilacji ca?o?ci, to mo?na znale?? w skrypcie linijk? z "--with-multilib-list=armv6-m,armv7-m,armv7e-m,armv7-r" i po prostu wy??czy? to czego si? nie u?ywa (UWAGA - linijka ta wyst?puje tam 2x, obie wersje powinny by? identyczne!). Wersje dla Windows zapewne nadal b?d? udost?pniane w formie "binarnej", bo akurat na tej platformie nie ma problemów z kompatybilno?ci? bibliotek.

W ka?dym razie skrypt zasadniczo robi wszystko co jest potrzebne - pobiera ?ród?a toolchaina i wymaganych bibliotek w odpowiedniej wersji, rozpakowuje je, a nast?pnie konfiguruje i kompiluje w odpowiedniej kolejno?ci. Idea oczywi?cie nie jest nowa i takich skryptów jest wiele, cho? te które znam s? ju? albo nierozwijane, albo nie do ko?ca takie jak nale?y. Generalnie do dzia?ania tego skryptu nie powinny by? wymagane ?adne dziwne narz?dzia poza tym co jest w "standardzie" w ka?dej dystrybucji Linuxa - jedynym wyj?tkiem mog? by? programy do generacji dokumentacji ("makeinfo", wchodz?cy zwykle w sk?ad paczki typu "texinfo"). Zach?cam do testów, je?li co? nie dzia?a to piszcie w komentarzach, albo od razu zg?aszajcie problem na GitHubie. Je?li dzia?a to oczywi?cie te? ch?tnie us?ysz? takie info (;

Aktualne wersje narz?dzi w toolchainie s? - zgodnie z ide? - najnowsze (; Nowsze ni? w toolchainie od ARM <:

  • gcc-6.2.0 + multilib patch
  • newlib-2.4.0.20160923
  • binutils-2.27
  • gdb-7.12
  • expat-2.2.0
  • gmp-6.1.1
  • isl-0.16
  • libelf-0.8.13
  • mpc-1.0.3
  • mpfr-3.1.5
  • zlib-1.2.8
Zmieniony: PiÄ…tek, 14 PaĹşdziernik 2016 10:33
 
«PoczÄ…tekPoprzednia12345678910NastÄ™pnaOstatnie»

Strona 1 z 10