! это, мужики, вопрос в догонку

Apr 22, 2006 3 Replies

Hi, All!



может оно не фурычит, т.к. я не правильно шью из hex-файла. ситуация там такая: в листинге выглядит так. адрес_слова: байт0_байт1 в hex-файле. адрес, байт1, байт0 т.е. ИHВЕРСИЯ.



я когда прошиваю, то делаю это так: mosi== вывод в мк, miso== чтение. когда читаю, то читаю так же. порядок прочтённых байтов соответствует прошитому. и соответствует порядку следования байтов в листинге. HО HЕ соответствует hex-файлу.



=== Hачало Windows Clipboard... === {--- --- ---} if paramstr(2)='prog' then begin writeln(' * programming flash: ',size,' words'); for i:=$0000 to size do begin mosi($48); mosi(hi(i)); mosi(lo(i)); mosi(hi(flash[i])); {} delay_ms(10); mosi($40); mosi(hi(i)); mosi(lo(i)); mosi(lo(flash[i])); {} delay_ms(10); end; end; === ...конец Windows Clipboard. ===


oleg


Привет oleg!

23 Apr 06 00:15, oleg dozhdev писал All:

od> может оно не фурычит, т.к. я не правильно шью из hex-файла. od> ситуация там такая: в листинге выглядит так. od> адрес_слова: байт0_байт1 od> в hex-файле. od> адрес, байт1, байт0 od> т.е. ИHВЕРСИЯ.

Так и должно быть, т.к. процессор little-endian - в нем младший байт инструкции располагается на меньшем адресе.

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

Кстати, чем существующие программы-программаторы не устроили, что ты начал свою писать?

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Мы не можем ждать почты от аплинка. Взять ее у него - наша задача.

Hi, Alex!

Решил тут oleg ответить на письмо from Alex Mogilnikov:

AM> Так и должно быть, т.к. процессор little-endian

это что за процессор?

AM> И наверное есть смысл начать с более простой программы, типа AM> просто выводом вверх-вниз подергать. А ты сразу что-то с обработчиком AM> прерывания пытаешься делать...

а бывают программы без прерываний? =) ну, просто ногой дёргать неинтересно.

а чего я там не учёл? таймер запустил: ldi temp, $05 out tccr0, temp прерывания разрешил: ldi temp, $02 out timsk, temp sei порты настроил а вывод: ldi temp, $1f out ddrb, temp

AM> Кстати, чем существующие программы-программаторы не устроили, что AM> ты начал свою писать?

тогда не было ничего. на первом курсе я писал курсовик-- программатор для at89s52. остались сырцы. я из них понадёргал функций последовательного ввода и вывода и проверки существования порта в системе. сложил их в один юнит, скомпилировал его. затем написал програмку для прошивания и стирания. это хобби.

oleg

Привет oleg!

24 Apr 06 11:41, oleg dozhdev писал Alex Mogilnikov:

AM>> Так и должно быть, т.к. процессор little-endian od> это что за процессор?

Atmel AVR... Или я неправильно понял, о чем идет речь?

AM>> И наверное есть смысл начать с более простой программы, od> а бывают программы без прерываний? =)

Лихко! :)

od> ну, просто ногой дёргать неинтересно.

Когда интересная не подает признаков жизни, выбирать не приходится... :)

od> а чего я там не учёл?

Если честно, лень разбираться, давно уже с AVR'ами плотно не работаю. Hо если бы у меня стоял вопрос, правильно ли я вообще зашиваю прошивку в контроллер, я бы постарался тестовую прошивку уложить в две-три инструкции.

AM>> Кстати, чем существующие программы-программаторы не AM>> устроили, что ты начал свою писать?

od> это хобби.

Ясно.

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Совет дня: чтобы убить жирную лошадь, добавьте к капле никотина каплю fairy

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required