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

 
 
> У кого-нибудь есть bootloader для mega32 и ft232rl?
zheka
сообщение Feb 4 2012, 17:06
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, долго рылся в интернете в поисках - в основном вижу варианты, где D+ и D- напрямую подключены к контроллеру.
У меня Mega32 работает в связке с FT232RL.
Реально ли как-то организовать устройство, чтобы пр программировании не перетыкать перемычку, а просто выключать основную программу, работающую с устройством и включать программу прошивальщик?
Есть ли какие-нибудь готовые бутлоадеры, работающие с FT232RL или же придется переделывать? Желательно под COdeVision

Сообщение отредактировал zheka - Feb 4 2012, 17:08
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zheka
сообщение Feb 5 2012, 09:34
Сообщение #2


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



У меня в CodeVision настроено с какого адреса писать бут. См скрин.

Господа интересует другое. Нормальная связка бута и программы для его прошивки.
То что я скачал содержит бут. В архиве есть файл со ссылкой на модифицированный прошивальщик. Ссылка битая.

Скачал я еще два архива откуда-то: MegaLoadU.rar и Bootloader.rar. В первом из них прошивальщик без кода бутлоадера. К сожалению с тем бутом, что у меня есть, не работает. Во втором код бутлоадера, и программой прошивальщика, которая не запускается.

А глядя на это:
CODE
void BootLoad(void)
{
// Send chip data to the programming software so that it knows
// how to format transmissions
putchar(DeviceID);
putchar(FlashSize);
putchar(BootSize);
putchar(PageSize);
// "!" means all ok and send the next data if there is more
putchar('!');
while(1)
{
PageAddress = (unsigned int)getchar() << 8; // Receive PageAddress high byte
PageAddress += getchar(); // Add PageAddress low byte
putchar(PageAddress);
if (PageAddress == 0xffff) ExecCode(); // The windows program sends this value when finished
#if defined _CHIP_ATMEGA128_
if (PageAddress >> 8) RAMPZ = 1;
else RAMPZ=0;
#endif
PageAddress = PageAddress << AddressLshift; //essentially the same as multiply by PageSize
if (GetPage()) //receive one page of data followed by a checksum byte and verify data
{
for (i=0;i<PageByte;i+=2) //fill temporary buffer in 2 byte chunks from PageBuffer

{
Pagedata=PageBuffer[i]+(PageBuffer[i+1]<<8);
while (SPMCR&1); //wait for spm complete
CurrentAddress=PageAddress+i;
spmcrval=1;
#asm
movw r30, r6 ;//move CurrentAddress to Z pointer
mov r1, r3 ;//move Pagedata MSB reg 1
mov r0, r2 ;//move Pagedata LSB reg 1
sts SpmcrAddr, r10 ;//move spmcrval to SPM control register
spm ;//store program memory
#endasm
}

while (SPMCR&1); //wait for spm complete
spmcrval=3; //erase page
#asm
movw r30, r4 ;//move PageAddress to Z pointer
sts SpmcrAddr, r10 ;//move spmcrval to SPM control register
spm ;//erase page
#endasm

while (SPMCR&1); //wait for spm complete
spmcrval=5; //write page
#asm
movw r30, r4 ;//move PageAddress to Z pointer
sts SpmcrAddr, r10 ;//move spmcrval to SPM control register
spm ;//write page
#endasm

while (SPMCR&1); //wait for spm complete
spmcrval=0x11; //enableRWW see mega8 datasheet for explanation
// P. 212 Section "Prevent reading the RWW section
// during self-programming
#asm
sts SpmcrAddr, r10 ;//move spmcrval to SPMCR
spm
#endasm
if (CheckFlash()) putchar('!'); //all ok, send next page
else putchar('@'); //there was an error, resend page
} //end if (GetPage())
else putchar('@'); //there was an error ,resend page
}
}


Возникает сильное желание написать прошивальщик самому.
У кого-нибудь есть РАБОЧАЯ связка бутлодера под CodeVision и утилиты для прошивки? Или информация о том, как залить прошивку через бутлоадер средствами CodeVision?

Сообщение отредактировал IgorKossak - Feb 5 2012, 09:44
Причина редактирования: [codebox]!!!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- zheka   У кого-нибудь есть bootloader для mega32 и ft232rl?   Feb 4 2012, 17:06
- - demiurg_spb   Вам подойдёт любой бутлоадер для уарта коих подавл...   Feb 4 2012, 17:46
- - zheka   Нашел вот это. Нельзя ли как-то пошагово объяснить...   Feb 4 2012, 18:12
|- - haker_fox   QUOTE (zheka @ Feb 5 2012, 02:12) 1. В ко...   Feb 5 2012, 01:45
- - zheka   Мой под CodeVIsion. После того, как создал тему до...   Feb 5 2012, 07:04
|- - haker_fox   QUOTE (zheka @ Feb 5 2012, 15:04) В общем...   Feb 5 2012, 09:01
|- - demiurg_spb   Цитата(zheka @ Feb 5 2012, 12:34) CodeVis...   Feb 5 2012, 09:38
|- - haker_fox   QUOTE (zheka @ Feb 5 2012, 17:34) и утили...   Feb 5 2012, 22:57
- - zheka   Более или менее разобрался. Работает и бутлоадер и...   Feb 5 2012, 10:14
|- - _Артём_   Цитата(zheka @ Feb 5 2012, 12:14) Теперь ...   Feb 5 2012, 14:10
- - zheka   Спасибо, я уже нашел информацию по хекс-формату, и...   Feb 5 2012, 15:12
- - FAV   Посмотрите проект, как раз на CodeVision http://si...   Feb 8 2012, 07:11
- - zheka   Спасибо, я уже разобрался, контроллер пашет, из пр...   Feb 8 2012, 17:33
|- - haker_fox   QUOTE (zheka @ Feb 9 2012, 01:33) То есть...   Feb 9 2012, 00:14
- - zheka   спасибо, теперь более или менее ясно. Тогда объяс...   Feb 9 2012, 03:59
|- - haker_fox   QUOTE (zheka @ Feb 9 2012, 11:59) Тогда о...   Feb 9 2012, 06:01
- - zheka   ЦитатаВы знаете, хоть я и недавно писал бут по ARM...   Feb 9 2012, 06:20
- - zheka   Покурил документ от Интел. Не раскуривается следую...   Feb 9 2012, 08:06
- - demaven   "Тогда почему 0x1234 даст реальный адрес 0x12...   Feb 9 2012, 09:24
- - zheka   ниче не понимаю. На hex калькуляторе посчитал - 0x...   Feb 9 2012, 11:17
|- - haker_fox   QUOTE (zheka @ Feb 9 2012, 19:17) Объясни...   Feb 9 2012, 12:47
- - zheka   Ни хрена не понимаю.... ВОт у меня адресное прост...   Feb 9 2012, 13:06
|- - haker_fox   QUOTE (zheka @ Feb 9 2012, 21:06) Ни хрен...   Feb 9 2012, 13:17
- - ILYAUL   Посмотрите "Косвенная адресация операнда...   Feb 9 2012, 13:36
- - demaven   Файл формата Intel HEX может состоять из любого ко...   Feb 9 2012, 13:50
- - zheka   Ура! Контроллер и софт пришли наконце-то к взи...   Feb 10 2012, 09:18
|- - haker_fox   QUOTE (zheka @ Feb 10 2012, 17:18) Как за...   Feb 10 2012, 11:40
- - zheka   ЦитатаГм... здесь проблема, учитывая, что запись с...   Feb 10 2012, 12:49
- - zheka   Полтретьего ночи... Заработало! Все шьется бе...   Feb 10 2012, 22:29
|- - haker_fox   QUOTE (zheka @ Feb 11 2012, 06:29) Полтре...   Feb 11 2012, 07:49
- - zheka   Нет... я рано радовался. Какие-то места пишутся кр...   Feb 11 2012, 14:06


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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 18:53
Рейтинг@Mail.ru


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