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

 
 
 
Reply to this topicStart new topic
> Bootloader и CVAVR, общие вопросы
impuls-v
сообщение Jan 8 2007, 14:40
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190



Несколько раз видел на форуме такой вопрос да и сам спрашивал как скрестьть ежа и ужа ( ну т.е. как на CVAVR написать Bootloader).
Так как ответов толковых небыло то коечто написал тспользуя avr109 на IAR и библиотеки из WinAvr.

Но осталось несколько вопросов
1) где можно прочитать информацию о структуре hex файла.
Последняя строка вида :00000001FF как я понял обозначает конец файла.
А последний байт каждой строки это что контрольныя сумма. А первые четыре байта это адрес?
Данный вопрос возникает так как надо написать программу со стороны винды.
И такой вопрос можно ли соеденить приложение и загрузчик в один файл, вроде бы можно удалить последнюю строку :00000001FF и добавить информ из загрузчика, ни кто не пробовал?

2)Плоховат в английском поэтому не допонял по поводу бит защиты LB и BLB.
BL влияют только на программирование или на загрузчик тоже ? т.е. если я поставлю защиту от чтения и записи программ, это защита будет работать только на програмирование при помощи программатора или на программирование при помощи загрузчика тоже.
и по поводу BLB - если 11 то нет ограничений это вроде понятно, если BLB12:11 =00 то я не могу модифицировать загрузчик и не могу из программы прочитать его, а вот остальные режимы не допонял.
Как лучше выставить их для защиты программ.

3) Как сказать компилятору чтобы он разместил подпрограмму по заданному адресу, в WinAvr это делается командой "#org адрес", а в CVAVR нельзя?
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 8 2007, 21:02
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(impuls-v @ Jan 8 2007, 15:40) *
1) где можно прочитать информацию о структуре hex файла.


Где то у меня была, но не нашёл. Высылаю отрывок из моего программатора. По нему попробуй разобраться. Очень давно писал и не очень грамотно. Не ругаться! smile.gif

Код
           repeat
            readln(FileH,SAnsw);
            if SAnsw[1]<>':' then begin
             res:=MessageDlg(' Файл не "Intel Hex"! Первый символ не ":"!',
              MtError,[mbOK],0);
             CloseFile(FileH);
             goto ExOpen;
            end;
            bh:=SAnsw[2]+SAnsw[3];
            count:=lo(RHex(bh));
            sum:=count;
            bh:=SAnsw[4]+SAnsw[5]+SAnsw[6]+SAnsw[7];
            adr:=RHex(bh);
            sum:=lo(sum+lo(adr)+hi(adr));
            bh:=SAnsw[8]+SAnsw[9];
            tzap:=lo(RHex(bh));
            sum:=lo(sum+tzap);
            j:=10;
            for i:=1 to count do begin
             bh:=SAnsw[j]+SAnsw[j+1];
             j:=j+2;
             d:=lo(RHex(bh));
             sum:=lo(sum+d);
             WData(adr,d);
             adr:=adr+1;
            end;
            if adr>maxadr then maxadr:=adr;
            sum:=lo(-sum);
            bh:=SAnsw[j]+SAnsw[j+1];
            d:=lo(RHex(bh));
            if d<>sum then begin
             res:=MessageDlg(' Ошибка контрольной суммы в строке '+
             IntToStr(line)+'!',MtError,[mbOK],0);
             CloseFile(FileH);
             goto ExOpen;
            end;
            line:=line+1;
           until(eof(FileH) or (tzap=1));
           adr:=maxadr;
           CloseFile(FileH);
           {$I+}
Go to the top of the page
 
+Quote Post
WHALE
сообщение Jan 8 2007, 22:02
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 902
Регистрация: 2-01-06
Из: Краснодар
Пользователь №: 12 768



SasaVitebsk А как быть тем,кто Паскаль не знает?У вас в текстовом виде нет?


--------------------
"Hello, word!" - 17 errors 56 warnings
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Jan 8 2007, 22:18
Сообщение #4


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(WHALE @ Jan 8 2007, 22:02) *
SasaVitebsk А как быть тем,кто Паскаль не знает?У вас в текстовом виде нет?

Между Паскалем и С не такая большая разница, чтоб не понять смысл wink.gif
Go to the top of the page
 
+Quote Post
plan
сообщение Jan 9 2007, 11:39
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 73
Регистрация: 23-12-05
Из: Украина Днепродзержинск
Пользователь №: 12 599



Цитата(impuls-v @ Jan 8 2007, 15:40) *
Несколько раз видел на форуме такой вопрос да и сам спрашивал как скрестьть ежа и ужа ( ну т.е. как на CVAVR написать Bootloader).

Вот к cvavr загрузчикПрикрепленный файл  CVmegaload.rar ( 12.16 килобайт ) Кол-во скачиваний: 315
Go to the top of the page
 
+Quote Post
impuls-v
сообщение Jan 12 2007, 06:09
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 130
Регистрация: 15-01-06
Пользователь №: 13 190



SasaVitebsk а не сможете подкинуть больший кусок из программы, есть пару не понятных моментов.

И еще вопрос не видел ктонибудь примера построения параллельного программатора.
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jan 12 2007, 10:19
Сообщение #7


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



по поводу hex
Прикрепленные файлы
Прикрепленный файл  intel_hex.pdf ( 28.53 килобайт ) Кол-во скачиваний: 87
Прикрепленный файл  intelhex.pdf ( 19.84 килобайт ) Кол-во скачиваний: 81
 


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post

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

 


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


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