1 февраля 2014 г.

Выкарыстанне Splint для праверки зыходнага коду ўбудаванага праграмнага забеспячэння

Кошт выпраўлення памылак залежыць ад этапу жыцця праграмы, на якім гэту памылку знайшлі. Чым раней знойдзена памылка - тым танней абыходзіцца яе выпраўленне. Такім чынам усе зацікаўлены не тварыць памылкі, пры тым, чым раней, тым лепш. У нашым неідэальным свеце праграмісты імкнуцца паменшыць верагоднасць памылак у праграмным забеспячэнні. Для гэтага існуе тэсціраванне ўжо канчатковага коду на адпаведнасць спецыфікацыі (так званае распрацоўка праз тэсціраванне, або TDD - Test Driven Development). Але на якасць праверкі уплывае дакладнасць праверак.

Дадаткова да тэстаў існуе статычны аналіз коду. Ён не правярае логіку працы, для гэтай мэты ёсць TDD, а дазваляе знайсці месцы, якія кампілятар і праграміст разумеюць па рознаму.

Існуе не шмат, але нейкая колькасць статычных аналізатараў, як камерцыйных, так і адкрытых. Спіс аналізатараў можна знайсці ў Вікіпедыі.

Зараз гаворка пойдзе пра Splint, а таксама пра яго выкарыстанне для праверкі ўбудаванага праграмнага забеспячэння.

7 января 2014 г.

Набыццё электронных кампанентаў у Беларусі з-за мяжы праз Інтэрнэт

Падчас ёсць патрэба ў кампанентах, якія ў нашай краіне складана ці ўвогуле немагчыма набыць фізічнай асобе. На дапамогу прыходзяць інтэрнэт-крамы з-за мяжы. У іх ёсць выбар, прыемны кошт, але праблемы ўзнікаюць пры дастаўцы (час вандравання пасылкі да атрымальніка і родная мытня).

З найбольш вядомых пляцовак можна адзначыць:
  • AliExpress
  • Alibaba
  • Ebay
  • RS-Components
  • DigiKey
 Спынімся на кожнай падрабязней.

19 декабря 2013 г.

Нататкі аб RL78: Сапраўднае прывітанне праз УАПП

Так склалася, што УАПП з'яўляецца, напэўна, самым распаўсюджаным інтерфесам для сувязі прыбораў з навакольным светам. УАПП гэта Унівярсальны Асінхронны Прыёмма-Перадатчык, або Universal Asyncronous Reciever-Transmitter (UART) па ангельскі.

7 октября 2013 г.

Стварэнне выяў для чорна-белых графічных жыдка-крысталічных індыкатараў у GIMP

Пры працы з графічнымі ЖКІ найбольш складаным (маё меркаванне) з'яўляецца стварэнне малюнкаў (а таксама і шрыфтоў) у прыгодным для індыкатара фармаце.

Існуе шмат спецыяльных праграм, каб пераўтварыць выяву ў зыходны код. Адна з іх LCD Image Converter, напрыклад.

Нашчасце, гэта праблема існуе доўгі час і была вырашана радыкальным спосабам. Навошта пераўтвараць малюнкі ў зыходны код? Лепей захоўваць малюнкі адразу ў форме зыходнага коду. Для гэтай мэты быў створаны фармат XBM (X BitMap), а таксама некаторыя іншыя, аднак XBM нас цікавіць зараз болей за іншыя.

27 сентября 2013 г.

Нататкі аб RL78: Прывітанне свет, альбо запальванне святлодыёда

Традыцыйна, вывучэнне новай мовы праграмавання пачынаецца з напісання самай простай праграмы, якая толькі і робіць, што друкуе прывітанне свету. Гэтак абстаяць справы на вялікіх кампутарах. На маленькіх жа ў нас няма дапаможнікаў у выглядзе АС і нам прыйдзецца рабіць усё самім. І сярод гэтага "усяго", вывад прывітання ня самая простая справа. Таму, для маленькіх кампутараў (мікрокантролераў) уводная праграмай з'яўляецца запальванне альбо мірганне святлодыёдам.

19 сентября 2013 г.

Нататкі аб RL78: Падрыхтоўка

Для напісання і адладкі прашывак нам спатрэбіцца: тэкставы рэдактар, кампілятар, загрузчык, плата з МК і пераўтваральнік USB-UART са схемай падключэння да платы.

14 сентября 2013 г.

Нататкі аб RL78: Уводзіны

Пад гэтай назвай буду збіраць нататкі аб мікракантролерах Renesas RL78.

Для распрацоўкі прашывак буду выкарыстоўваць кампілятар GCC (дакладней GNURL78 ад KPITGNUTools). Распрацоўка будзе праходзіць пад АС GNU/Linux пры дапамозе make, rl78flash і, мабыць, яшчэ некаторых, якія прысутнічаюць ва ўсіх дыстрыбуцыях GNU/Linux.

Усе прыклады будуць для чыпа R5F104FEAFP. У ім ёсць шмат перыферыі, якую можна выкарыстоўваць, каб аблегчыць справы для ядра мікракантролера. Ня гледзячы на мой выбар чыпа, большасць прыкладаў будуць працаваць і на іншых прадстаўніках сямейства RL78, але з малымі папраўкамі на выкарыстаныя вывады корпуса, хуткасць працы і інш.

Гэтыя мікракантролеры арыентаваны на малое спажыванне току. Таму, акрамя прыкладаў коду, час ад часу, будуць замеры току.

Нажаль, адладчыка не існуе, які бы працаваў на кампутары с АС GNU/Linux. Замест яго будзем карыстацца модулем UART, па якім будзем вывадзіць прамежкавую інфармацыю.

Спадзяюся тлумачэнні будуць простымі :)