21.05.2015, 16:45
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от eddy
|
Ты путаешь. STVP - это какая-то хрень, которая только под мастдайкой работает.
|
Вот в этих словах большой смысл!!!
|
|
|
|
21.05.2015, 16:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от Easyrider83
|
Вот в этих словах большой смысл!!!
|
Чуть иначе:
Сообщение от eddy
|
Ты путаешь. STVP - это какая-то хрень, которая ... работает.
|
|
|
|
|
21.05.2015, 17:06
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: FAQ по STM8
Китайцы в подвалах тоже работают. Клепают, бедные, всякую фигню на коленках...
Еще мне не хватало запускать виртуалбокс с мастдайкой каждый раз, когда нужно мелкоконтроллер прошить. Нафиг такое извращение?
Да и вообще, была б у меня власть, я бы на законодательном уровне запретил бы использовать мастдайку. И приравнял бы ее использование к государственной измене! Нечего псов пиндосских спонсировать!
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
21.05.2015, 17:09
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
21.05.2015, 18:15
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: FAQ по STM8
Сообщение от eddy
|
Ты путаешь.
|
Не, я тусую!
Сообщение от eddy
|
STVP - это какая-то хрень
|
"STVP не мой, я только разместил объяву!" (с)
Сообщение от eddy
|
была б у меня власть
|
"- Кабы я была царица,-
Молвит линухосестрица,-
Я б для батюшки-царя
Родила бы пынгвыня." (с)
|
|
|
Сказали "Спасибо" STM32F0
|
|
|
22.05.2015, 18:40
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: FAQ по STM8
Черт бы подрал эти option bytes! Пишу вроде как по даташиту:
Код:
|
#define OPT2 *(unsigned char*)0x4803
#define NOPT2 *(unsigned char*)0x4804
U8 unlock_EEPROM(){
// unlock memory
FLASH_DUKR = EEPROM_KEY1;
FLASH_DUKR = EEPROM_KEY2;
// check bit DUL=1 in FLASH_IAPSR
if(!(FLASH_IAPSR & 0x08))
return 0;
return 1;
}
void lock_EEPROM(){
while(!(FLASH_IAPSR & 0x04)); // wait till end
// clear DUL to lock write
FLASH_IAPSR &= ~0x08;
}
/**
* check OPT2 bit AFR6 for I2C remapping to PB4/PB5
*/
U8 opt2_default_setup(){
U8 val = OPT2 | 0x40;
if(OPT2 & 0x40) return 0;
if(!unlock_EEPROM()) return 1;
// set AFR6 in OPT2 & reset in NOPT2
OPT2 = val;
NOPT2 = ~val;
lock_EEPROM();
return 2;
} |
функция opt2_default_setup() возвращает двойку, т.е. как бы пишет. А на деле, когда читаю содержимое OPT2, там 0, а в NOPT2, соответственно, 0xff!
Как же эти чертовы option bytes писать?
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
22.05.2015, 18:57
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: FAQ по STM8
Я забыл про регистр FLASH_CR2. Однако, так тоже не работает:
Код:
|
U8 opt2_default_setup(){
U8 val = OPT2 | 0x40;
if(OPT2 & 0x40) return 0;
if(!unlock_EEPROM()) return 1;
FLASH_CR2 |= 0x80; // enable write OPT
FLASH_NCR2 &= ~0x80;
// set AFR6 in OPT2 & reset in NOPT2
OPT2 = val;
NOPT2 = ~val;
lock_EEPROM();
FLASH_CR2 &= ~0x80; // disable write OPT
FLASH_NCR2 |= 0x80;
return 2;
} |
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
22.05.2015, 19:04
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
На элементарную операцию уходит неделя и проблема еще не решена. Зато на линуксе.
|
|
|
|
22.05.2015, 19:09
|
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,627
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: FAQ по STM8
Каким боком операционка к коду, который на МК должен работать?
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
22.05.2015, 19:16
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: FAQ по STM8
У всех работает...
Отпираем флеш:
Код:
|
FLASH-›DUKR = FLASH_RASS_KEY2;
FLASH-›DUKR = FLASH_RASS_KEY1; |
Разрешаем запись option byte:
Код:
|
FLASH-›CR2 |= FLASH_CR2_OPT;
FLASH-›NCR2 &= (uint8_t)(~FLASH_NCR2_NOPT); |
Пишем:
Код:
|
*((NEAR uint8_t*)Address) = Data; |
Иногда надо писать комплемент следующим адресом:
Код:
|
*((NEAR uint8_t*)Address) = Data;
*((NEAR uint8_t*)((uint16_t)(Address + 1))) = (uint8_t)(~Data); |
Ждем завершения операции и закрываем доступ:
Код:
|
FLASH-›CR2 &= (uint8_t)(~FLASH_CR2_OPT);
FLASH-›NCR2 |= FLASH_NCR2_NOPT; |
Последний раз редактировалось Easyrider83; 22.05.2015 в 19:21.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:46.
|
|