vlkamov: Рембрандт. Автопортрет с широко открытыми глазами. (Default)
[personal profile] vlkamov
Я работаю над одним проектом, который с большим трудом вмещается в 64к памяти микроконтроллера. И подумалось мне, что возможно, пора взглянуть на разные компиляторы, чтобы выбрать какой более агрессивно может уменьшить размер программы.

А правда, так ли уж нужен компилятор для микроконтроллеров с маленькой памятью ?
Ведь чисто ассемблерные программы на такой объем - это несколько тысяч строк вида
; отслеживание нажатия кнопки
m1          btfsc       PORTA,2     ; бит-проверка ножки RA2
            goto        m1
m2          btfss       PORTA,2     ; бит-проверка ножки RA2
            goto        m2          ; отслеживаем отжатие кнопки
            movlw       b01000000
            movwf       PORTB
            call        Pause
m3          btfsc       PORTA,2     ; бит-проверка ножки RA2
            goto        m3
m4          btfss       PORTA,2     ; бит-проверка ножки RA2
            goto        m4          ; отслеживаем отжатие кнопки
            movlw       b00000010
            movwf       PORTB
            call        Pause
            goto        m1

Т.е. предельно читабельный код. Эти несколько тысяч строк напишутся быстрее, чем изучатся компиляторы. Всякие объекты-спиcки и прочие горутины отпадают, да хрен с ними. Более того, в компиляторах еще придется привыкать к их особенностям, ассемблеры же максимально приближены к документации на контроллер.
Компиляторы-то и были созданы для абстрагирования от машинного уровня, что невозможно при программировании микроконтроллера.

Profile

vlkamov: Рембрандт. Автопортрет с широко открытыми глазами. (Default)
vlkamov

June 2025

S M T W T F S
1 2 3 4 5 67
8 9 10 11 1213 14
15161718192021
22232425262728
2930     

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 14th, 2025 07:19 pm
Powered by Dreamwidth Studios