реклама на сайте
подробности

 
 
> Cамопрограммирование flash, ( Запись flash ), bootload, переход из RWW в NRWW, чтение констант из flash
Jhohn
сообщение Nov 13 2008, 13:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-11-08
Пользователь №: 41 579



Здравствуйте!

Разрабатываемое устройство на Atmel 168 (flash = 16k, bootloader = 2048 byte) принимает данные по USB (эта часть уже реализована программно). Среда разработки WinAvr. Программная реализация USB (программа-usb) не маленькая больше чем bootloader. По USB принимаются данные (основная-программа + константы) и перепрошивается flash. Код основной-программы не писался, оочень большая вероятность что это будет > 2 к. У устройства есть два режима программирование (задание конфигурации) и работа самого устройства, для выбора режима имеется вход +5 В на ножку МК при программировании. EEPROM может не хватить поэтому предполагаю запись констант в флеш.

Вопросы:

1) При включении устройства мы переходим в bootload, проверяем вывод и соответственно переходим к jmp(необходимый адрес в flash) ?

2) Можно ли программу-usb расположить в flash принимать данные в ОЗУ потом jmp bootload, писать там код основной программы и обратно в программу в flash? (т.к. программа-usb не помещается в bootload )
т.е. вопрос могу ли я перейти из RWW в загрузчик (NRWW) КАК ? jmp (адрес) ?

3) Ход программирования предполагаю таким:
------( bootload_start см рис память flash ) загрузчик (nrww) [if (port == 1) ] ->
------( Jmp 1 ) к программе-usb ->
------( Jmp 1 ) пишем в озу 128 б принятые данные по usb ->
------( bootload ) оттуда пишем память > Jmp_2 ->
------( Jmp 1 )
reset
Ход выполнения основной программы:
------( bootload ) загрузчик (nrww) [if (port == 0) ] ->
------( Jmp 2 ) к основной-программе

ЕСТЬ ЗАМЕЧАНИЯ?


4) При выполнении основной-программы при считывании констант из flash, как прочесть константы ? (снова в загрузчик читать в озу и обратно?)



Жду замечаний ) Спасибо. smile.gif

Сообщение отредактировал Jhohn - Nov 13 2008, 13:54
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jhohn
сообщение Nov 24 2008, 11:21
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 65
Регистрация: 12-11-08
Пользователь №: 41 579



Мучаю Код help.gif

//////////////////////////////////////////////////////////////////////////////////////////////////////

if (val < PAGE_SIZE - 1)
{
.........usb_in_ram[val] = USBBuffer[5];

.........val += 1;
}
else
{
.........usb_in_ram[val] = USBBuffer[5];

.........boot_program_page(addr_word_flash, usb_in_ram); // запись страницы
..........addr_word_flash += 128;

..........val = 0;
}

//////////////////////////////////////////////////////////////////////////////////////////////////////

записываемый флай в флеш

:101A000011111111111111111111111111111111C6
:101A100022222222222222222222222222222222A6
:101A20003333333333333333333333333333333386
:101A30004444444444444444444444444444444466
:101A40005555555555555555555555555555555546
:101A50006666666666666666666666666666666626
:101A60007777777777777777777777777777777706
:101A700088888888888888888888888888888888E6
:101A800099999999999999999999999999999999C6
:101A900022222222222222222222222222222222A6
:101AA0003333333333333333333333333333333386
:101AB0004444444444444444444444444444444466
:101AC0005555555555555555555555555555555546
:101AD0006666666666666666666666666666666626
:101AE0007777777777777777777777777777777706
:101AF00011111111111111111111111111111111E6

== 1 байту == 256 значений

РЕЗУЛЬТАТ:

:101A000011111111111111111111111111111111C6
:101A100022222222222222222222222222222222A6
:101A20003333333333333333333333333333333386
:101A30004444444444444444444444444444444466
:101A40005555555555555555555555555555555546
:101A50006666666666666666666666666666666626
:101A60007777777777777777777777777777777706
:101A700088888888888888888888888888888888E6
:101A800088999999999999999999999999999999D7
:101A900099222222222222222222222222222222AF
:101AA0002233333333333333333333333333333317
:101AB00033444444444444444444444444444444F7
:101AC00044555555555555555555555555555555D7
:101AD00055666666666666666666666666666666B7
:101AE0006677777777777777777777777777777797
:101AF0007711111111111111111111111111111170


В записанном файле первые 128 пишутся нормально, А ВТОРЫЕ 128 В НАЧАЛЕ добавляется БАЙТ ???

Где может быть проблема?
help.gif

Сообщение отредактировал Jhohn - Nov 24 2008, 11:24
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Jhohn   Cамопрограммирование flash, ( Запись flash )   Nov 13 2008, 13:38
- - GDI   Почему тут http://www.obdev.at/products/avrusb/prj...   Nov 13 2008, 14:06
- - Jhohn   Цитата(GDI @ Nov 13 2008, 17:06) Почему т...   Nov 13 2008, 14:10
- - GDI   ЦитатаПрограммная реализация USB (программа-usb) н...   Nov 13 2008, 14:57
- - Jhohn   Хочется получить грамотный ответ на поставленный в...   Nov 13 2008, 16:09
|- - SasaVitebsk   Цитата(Jhohn @ Nov 13 2008, 20:09) Хочетс...   Nov 13 2008, 16:43
- - Jhohn   Цитата(SasaVitebsk @ Nov 13 2008, 19:43) ...   Nov 13 2008, 21:19
|- - SasaVitebsk   Цитата(Jhohn @ Nov 14 2008, 01:19) А у ва...   Nov 13 2008, 23:04
|- - defunct   Цитата(Jhohn @ Nov 13 2008, 23:19) А у ва...   Nov 17 2008, 00:18
- - plombir   Цитата(Jhohn @ Nov 13 2008, 16:38) Здравс...   Nov 13 2008, 21:28
- - Jhohn   В процессе записи в Flash сталкнулся с ошибкой: П...   Nov 19 2008, 11:50
|- - aesok   Цитата(Jhohn @ Nov 19 2008, 14:50) BOOTLO...   Nov 19 2008, 11:57
- - Jhohn   Вы правы. Спасибо.   Nov 19 2008, 12:35
|- - Сергей Борщ   Цитата(Jhohn @ Nov 24 2008, 13:21) //////...   Nov 24 2008, 13:19
- - Jhohn   может в функции проблема boot_program_page() ? хот...   Nov 24 2008, 12:35
- - Jhohn   Цитата(Сергей Борщ @ Nov 24 2008, 16:19) ...   Nov 25 2008, 10:05
- - SasaVitebsk   Кстати идея Defunct весьма интересна. Можно её даж...   Nov 25 2008, 10:29
|- - defunct   Цитата(SasaVitebsk @ Nov 25 2008, 12:29) ...   Nov 27 2008, 13:45
- - Jhohn   Не могу войти в область загрузчика (bootload sect...   Nov 26 2008, 10:22
|- - Сергей Борщ   Цитата(Jhohn @ Nov 26 2008, 12:22) 1)BOOT...   Nov 26 2008, 10:28
- - Jhohn   Такой дурацкий вопрос: как? вы имеете в виду meikf...   Nov 26 2008, 10:41
|- - Сергей Борщ   Цитата(Jhohn @ Nov 26 2008, 12:41) Такой ...   Nov 26 2008, 11:25
- - Jhohn   Как всегда о неудачах: Цитата(Сергей Борщ @ ...   Nov 27 2008, 17:28
|- - Сергей Борщ   Цитата(Jhohn @ Nov 27 2008, 19:28) Я поду...   Nov 27 2008, 22:42
- - Jhohn   Цитата(Сергей Борщ @ Nov 28 2008, 01:42) ...   Nov 28 2008, 14:32
- - Jhohn   Начну с хорошего все работает и прошивается на atm...   Mar 10 2009, 20:59
|- - rx3apf   Цитата(Jhohn @ Mar 10 2009, 23:59) Подска...   Mar 10 2009, 21:15
- - Jhohn   блин, так и есть, вылетело из головы   Mar 11 2009, 04:37


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 13th August 2025 - 00:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01381 секунд с 7
ELECTRONIX ©2004-2016