| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| Използване на Flash паметта от програмата в АТtiny84 http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=6813 |
Страница 1 от 1 |
| Автор: | Ugeen [ Чет Май 14, 2009 10:34 am ] |
| Заглавие: | Използване на Flash паметта от програмата в АТtiny84 |
Колеги,от опита който имам с ползването на контролери ATMEGA и ATTINY разбрах, че EEPROM не е сигурно място за съхраняване на константи ,особено ако устройството работи в автомобили където захранването е пълно с пикове от четките на генератора, когато двигателят работи.Налага ми се да съхраня една 16 битова константа и искам да я запиша във Flash паметта.Проблема е че тази константа се генерира еднократно от програмата която изпълнява процесора при първото включване на захранването на устройството .Четох по въпроса от пдф на АТtiny84 и разбрах че това става с инструкциите SPM ,LPM ,но нещо не ми стана ясно от тези обяснения.Наясно съм с това че за да се запише една клетка от flash трябва да се изтрие цялата страница в която се намира адреса и после да се запише пак с новото съдържание.Тъй като програмата ми няма да заеме цялата памет мисля да ползвам празна страница която в АТtiny84 е 64 байта ,което не налага да съхранявам данните във временен буфер и след това да ги връщам обратно.Явно в С кода ще трябва да включа и асемблер за да ползвам гореспоменатите инструкции(Ползвам CodevisionAVR).Искам от програмата да мога да изтривам въпросната страница и в нея да записвам само един адрес с 16 битова константа.Ще ви бъда благодарен ако ми подскажете с някакъв примерен асемблерски код за тази операция. |
|
| Автор: | Реконструктор [ Чет Май 14, 2009 6:32 pm ] |
| Заглавие: | |
Що не пробваш с някой по-голям кондензатор. Някъде бях писал за пробата един код, ще се пробвам да го изровя. |
|
| Автор: | Nikola Kirov [ Чет Май 14, 2009 9:29 pm ] |
| Заглавие: | |
Бутлоудъри за AVR има много по нета. Разглеждаш сорса на някой от тях и си вземаш готови функции. Иначе Atmel имаха Aplication Note за бутлоудър също може и от него да видиш. Отделно си спомням че като ми трябваше в документацията беше ясно описано как става и си правих бутлоудър само по нея. |
|
| Автор: | Ugeen [ Чет Май 14, 2009 10:16 pm ] |
| Заглавие: | |
ОК ,ще поровя из нета за някой bootloader за да видя как става.По принцип на мен ще ми трябва за едно RF дистанционно,като целта е е само при първия старт на предавателя ,той да си генерира random 16битов адрес което ще го направи уникален сам по себе си.Така че страницата ще се запише еднократно и това е.Не гоня сигурност иначе бих го направил със скачащ код,просто искам ако имам няколко устройства в близост да не реагират на команди които не са за тях. |
|
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|