ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
25 апреля
364179 Топик полностью
fk0, легенда (25.10.2012 11:11 - 11:14, просмотров: 205) ответил Гудвин на Банки не парили ничуть. А вот написание загрузчика для 24H заставило задуматься - анакуя оно сдалось, это чудо технической мысли с идиотским размещением таблиц векторов и "трехцилиндровой" флэш...
Зачем так сделали... Затем же, зачем у них для питания RTC нет отдельного входа, затем же, зачем подстройка внутреннего генератора "нелинейная и немонотонная" и др... А что делать с векторами понятно. Один набор векторов используется для загрузчика (и загрузчик в той же странице flash), другой для основной программы, где нужно написать jmp xxx+$ в каждый вектор (ручками!), а в программе вектора с адреса xxx прописать, где xxx в другой странице flash. Удлинение обработки прерывания на один jmp не критично. В ARM7 (не Cortex) с прерываниями куда хуже, почему в Cortex и сделали сразу разделение векторов по-адресам без извращений с контроллером прерываний (много тактов на его обслуживание). Вот трёхцилиндровость и полуторобайтная адресация программной памяти -- это да... хотя принципиально оно ничем не мешает, но разрыв шаблона мышления гарантирован. Вообще хотеть разделение векторов прерываний на boot/не-boot это тяжёлое наследие 8-битных AVR любительского уровня. А тут профессионального уровня контроллер и подход, разумеется, другой...
[ZX]