Меня тут жизнь заставила потрогать компилятор XC8 от майкрочипа для мелких контроллеров. Это, я вам скажу, целый отдельный мир в себе. Зато я теперь понимаю, откуда на форумах тонны говнокода с двоичными или шестнадцатиричными константами, а разбуженный внезапно ночью пикоман будет бормотать что-то типа "0xA8 в регистр 0xBB включает режим
(
Read more... )
а под arm те же самые пикоманы плодят дикие структуры, которые заполняют перед каждым вызовом любой функции (cmsys и рядом). и это при том, что на opencm3 код будет и короче и читаемее, и даже бинарник будет мельче.
Reply
Reply
в смысле, по факту многие афтыри ставят.
весело бывает разбирать какой-нибудь "reg_foobar = 0x12345678ULL;" на важные в текущем контексте биты и случайно (или неслучайно) поднятые/опущеные по иным причинам биты.
Reply
Тут же НЕТ других вариантов кроме как парсить трешатину FOOBAR=0x1234 или пилить сразу свои правильные хедеры.
А, и да. В родных примерах от mcrch попадается вообще всё что угодно, начиная от CTRL.bit = 1; и заканчивая asm("bsf CTRL, 7")
А еще там прямая битовая адресация есть, это когда CTRLbit объявлен непосредственно по адресу 0x88f (и в скобочках пояснение что это 0x111*8+7).
И всё это вперемешку.
Reply
но микрочип в этом плане имя нарицательное.
>Тут же НЕТ других вариантов кроме как парсить трешатину FOOBAR=0x1234
это в фирменных хедерах такой трэш?
Reply
Reply
Reply
Leave a comment