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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Как прочитать РОН в WinAVR?
Charoit
сообщение Feb 1 2010, 13:23
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 10-10-07
Пользователь №: 31 217



Кстати, в файле pgmspace.h есть макроопределения для чтения памяти данных - pgm_read в разных вариантах..
А как писать в память данных? rolleyes.gif Ничего похожего в pgmspace.h я не нашелsad.gif
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 1 2010, 13:57
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Charoit @ Feb 1 2010, 16:23) *
А как писать в память данных? rolleyes.gif Ничего похожего в pgmspace.h я не нашел sad.gif
Наверное, вопрос был всё же о памяти программ? В эту память абы-откуда писать не получиться. Поэтому и смотреть нужно в файле boot.h
Go to the top of the page
 
+Quote Post
Charoit
сообщение Feb 1 2010, 14:30
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 10-10-07
Пользователь №: 31 217



Цитата(Палыч @ Feb 1 2010, 16:57) *
Наверное, вопрос был всё же о памяти программ? В эту память абы-откуда писать не получиться. Поэтому и смотреть нужно в файле boot.h


Тьфу, блин, конечно о памяти программ.. Спасибо, буду смотреть boot.h.
Go to the top of the page
 
+Quote Post
Charoit
сообщение Feb 10 2010, 14:30
Сообщение #19


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 10-10-07
Пользователь №: 31 217



Не получается писать в память программsad.gif Для начала решил просто стереть страницу - и это не работает..
Обязательно ли макросы boot_page_erase должны находиться в области загрузчика?

Вызываемая функция выглядит вот так :

CODE
void boot_program_page (uint16_t page)
{

uint8_t sreg;

// Disable interrupts.

sreg = SREG;
cli();

eeprom_busy_wait ();

boot_page_erase (page);
boot_spm_busy_wait (); // Wait until the memory is erased.



// Reenable RWW-section again. We need this if we want to jump back
// to the application after bootloading.

boot_rww_enable ();

// Re-enable interrupts (if they were ever enabled).

SREG = sreg;


}


Сообщение отредактировал rezident - Feb 10 2010, 16:16
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Feb 11 2010, 07:26
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Charoit @ Feb 10 2010, 17:30) *
Не получается писать в память программ. Обязательно ли макросы boot_page_erase должны находиться в области загрузчика?
Да, обязательно. Прочитайте в DS про RWW и NRWW секции.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 31st August 2025 - 21:56
Рейтинг@Mail.ru


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