Вот возник вдруг вопрос: а каковы вообще корни появления этого хождения по граблям длящегося годами? Почему базовые установки фьюзов не включить в прошивку? Не помню для какого МК, но я видел прошивку состоящую из двух частей.
Вид для печати
Вот возник вдруг вопрос: а каковы вообще корни появления этого хождения по граблям длящегося годами? Почему базовые установки фьюзов не включить в прошивку? Не помню для какого МК, но я видел прошивку состоящую из двух частей.
Ну щаз вроде Microchip купил avr, может поправят со временем. В PICах фьюзы задаются прям в прошивке и сохраняются в HEX. Хотя при программировании можно и менять, конечно. Но стандарт для _всех_ PIC программаторов один - галка стоит - включено, не стоит - выключено (что на мой взгляд совершенно логично).
Configuration Bits
The configuration bits can be programmed (read as '0'), or left unprogrammed (read as '1'), to select various device configurations.
PIC16F84A CONFIGURATION WORD
bit 13-4 CP: Code Protection bit
1 = Code protection disabled
0 = All program memory is code protected
bit 3 /PWRTE: Power-up Timer Enable bit
1 = Power-up Timer is disabled
0 = Power-up Timer is enabled
bit 2 WDTE: Watchdog Timer Enable bit
1 = WDT enabled — вот он, единственный "НОРМАЛЬНЫЙ" бит!
0 = WDT disabled
bit 1-0 FOSC1:FOSC0: Oscillator Selection bits
11 = RC oscillator
10 = HS oscillator
01 = XT oscillator
00 = LP oscillator
Engbedded Atmel AVR® Fuse Calculator:
http://i94.fastpic.ru/big/2017/0720/...654c0f3864.jpg
Рассуждая далее: неподключенный вход логического элемента ненормален (1), чистые ПЗУ ненормальны (FF), Z80 ненормален (только регистр F нормальный), ZXBus ненормальна, выборка портов в Speccy ненормальна, дальше продолжать?
creator, букварь на атмел говорит так: если бит запрограммирован, то он = 0, иначе он стёрт и = 1. Как это трактуют конкретно программаторы - это личное дело самих программаторов. Профессиональные используют наличие галочки как запрограммирован, т.е. = 0. Ну а ненормальные кустарные поделки обозначают наличием галочки = 1. Вот и весь сказ. Другое дело, что и нормальные и ненормальные выдают для контроля фьюзы в HEX виде.
CodeMaster, не может опять начаться то, что нкогда не прекращалось. :) Весь смысл в том, что для некоторых МК фьюз это ячейка памяти с адресом за пределами сегмента ПЗУ (как правило за пределами вообще любой внутренней памяти). И для этих МК возможно вносить фьюз в хвосте S-Record HEX файла. И программатор его поймет (и простит). А вот есть МК, у которых фьюзы требуют отдельного телодвижения, отличающегося от программирования памяти. И тут уже никак, только отдельно. Нужно просто выяснить, как обстоят дела для конкретно нужного вам МК. Обратитесь к его букварю. :)
Но прошивает их тот же программатор? Просто не вижу проблемы использовать формат файла с адресами для основной прошивки и например с именами для фьюзов, если они программируются не в память.
Это был риторический a.k.a. философский вопрос ;-)