Как к поекту на AVR (Си) прицепить двоичный файл-дамп?

Dec 07, 2003 Last reply: 22 years ago 21 Replies
18-Dec-03 21:04 Kirill Frolov wrote to Pavel Vasyuk:

PV>> 1. Компилим проект, узнаем адрес последнего байта во флеше, к примеру PV>> 0x77F; PV>> 2. Компилим поект еще раз, изменив в нем явно указатель на флеш pBmp = PV>> 0x780; PV>> 3. Заходим в HЕХ-редактор, склеиваем бинарник проекта с бинарником PV>> картинки; PV>> 4. Получившуюся смесь заливаем в кристалл...

Ну тогда уж добавить кое что, чтобы в makefile правило прописать и вообще не трогать руками сгенерённый файл (я подобным образом когда-то файлы прошивок .ttf из-под максплюса sed'ом перегонял в .asm).

KF> #!/usr/bin/perl

KF> binmode STDIN; KF> $c=0; # директивы под IAR ASM printf( "\tRSEG SEG_%s:CODE(0)\n" , @ARGV[0]); printf( "\tpublic %s, %s_len\n%s:\n" , @ARGV[0], @ARGV[0], @ARGV[0]); print "\tLSTOUT-\n" ;

KF> while (read(STDIN, $s, 1)) { KF> $n=unpack("C", $s); KF> if (!$c) {print "\tdb ";} else {print ", ";} KF> printf("0x%x", $n); KF> if (++$c >= 16) {print "\n"; $c=0;} KF> }

printf( "\tLSTOUT+\n%s_len equ $-%s\n\tend\n", @ARGV[0], @ARGV[0]);

wbr,

úÄÒÁÓÔ×ÕÊÔÅ Evgeny, *30.01.04* *21:29:19* ÷Ù ÐÉÓÁÌÉ × *RU.EMBEDDED* ÓÏÏÂÝÅÎÉÅ Ë *Den Y. Borisov* Ï *"Re: AVR Studio 3.54_ÐÒÏÂÌÅÍÁ_"*.

EK> á ÍÏÖÅÔ ÓÔÒÏËÁ ÞÔÏ-ÔÏ ÓÏÏÂÝÁÔØ ÐÒÏÇÒÁÍÍÁÔÏÒÕ, ÎÅ ÚÁÛÉ×ÁÑÓØ × ËÒÉÓÔÁÌ?...

æÏÒÍÁÔ ÆÁÊÌÁ Intel HEX ÉÓÐÏÌØÚÕÅÔ ÓÌÅÄÕÀÝÉÅ ÔÉÐÙ ÚÁÐÉÓÅÊ: 0 - ÓÏÂÓÔ×ÅÎÎÏ ÄÁÎÎÙÅ; 1 - ËÏÎÅà ÆÁÊÌÁ; 2 - ÎÏÍÅÒ 16-ÔÉÂÁÊÔÎÏÇÏ ÓÅÇÍÅÎÔÁ, × ËÏÔÏÒÏÍ ÈÒÁÎÑÔÓÑ ÐÏÓÌÅÄÕÀÝÉÅ ÄÁÎÎÙÅ; 4 - ÎÏÍÅÒ 64ë-ÓÔÒÁÎÉÃÙ, × ËÏÔÏÒÏÊ ÈÒÁÎÑÔÓÑ ÐÏÓÌÅÄÕÀÝÉÅ ÄÁÎÎÙÅ. ó Õ×ÁÖÅÎÉÅÍ, Den

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required