|
2 страниц
1 2 >
|
 |
Ответов
(1 - 21)
|
Jun 25 2009, 06:56
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 6-03-05
Из: Екатеринбург
Пользователь №: 3 112

|
Сериальный программатор считается использовать [CENSORED] ? -Это раз. О каких тиньках идёт речь, некотроые их виды имеют только HV режим программирования, так что кроме как через панельку - больше никак. - Это два. Ну и сколько кода отъест более-менее вменяемый загрузчик, и сколько останется под приложение, если общий объем флэша 1 кБ ? - Это три.
Сообщение отредактировал IgorKossak - Jun 25 2009, 11:50
Причина редактирования: Грубое выражение
|
|
|
|
|
Jun 25 2009, 07:06
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Цитата(forever failure @ Jun 25 2009, 10:56)  Сериальный программатор считается использовать фпадлу по морально-этическим-религиозным соображениям ? -Это раз... ISP чтоли? Если да то 4 пина из 6 доступных использовать проблематично становится + разьем на 5-6 пин тоже немаленький Цитата(forever failure @ Jun 25 2009, 10:56)  ...О каких тиньках идёт речь, некотроые их виды имеют только HV режим программирования, так что кроме как через панельку - больше никак. - Это два... 13, 25 ... 8ми ногие корпуса. А как выйдет 10я так вообще караул будет все ноги под программирование  Цитата(forever failure @ Jun 25 2009, 10:56)  ...Ну и сколько кода отъест более-менее вменяемый загрузчик, и сколько останется под приложение, если общий объем флэша 1 кБ ? - Это три. Вменяемость разная бывает. Навскидку подозреваю что и в 256 байт может влезть.
Сообщение отредактировал pt200 - Jun 25 2009, 07:09
|
|
|
|
|
Jun 25 2009, 07:14
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
вот мне давали ссылку http://caxapa.ru/thumbs/135932/AVRootloader_v2.0.zipесли отключить криптографию и всякие навороты типа чтения/записи EEPROM, то компилируется в 340 байт кода - 33,2% от памяти attiny13. поддерживается прошивка по одной линии. UART программный. всего поддерживается очень много МК. рекомендую  для нормальной меги я проверял - работает отлично  P.S. да, может подкатить небольшая трабла: т.к. используется UART, то желателен кварц для тактирования, а у тини не так много ног для этого. а с тактированием от встроенного RC могут быть проблемы.
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Jun 25 2009, 07:17
|

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

|
Цитата(pt200 @ Jun 25 2009, 11:06)  ISP чтоли? Если да то 4 пина из 6 доступных использовать проблематично становится + разьем на 5-6 пин тоже немаленький 13, 25 ... 8ми ногие корпуса. А как выйдет 10я так вообще караул будет все ноги под программирование  Вменяемость разная бывает. Навскидку подозреваю что и в 256 байт может влезть. у тинек есть интерфейс debug-WIRE, он однопроводный
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Jun 25 2009, 07:24
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Цитата(dimka76 @ Jun 25 2009, 11:17)  у тинек есть интерфейс debug-WIRE, он однопроводный А шить то по нему можно?
|
|
|
|
|
Jun 25 2009, 08:08
|

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

|
Цитата(pt200 @ Jun 25 2009, 11:24)  А шить то по нему можно? Можно только FLASH и EEPROM. FUSE он не шьет. Их придется по SPI. Но бутлоадер тоже первоначально по SPI надо грузить.
--------------------
Все может быть и быть все может, и лишь того не может быть-чего уж точно быть не может, хотя..и это может быть.
|
|
|
|
|
Jun 25 2009, 08:48
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Цитата(dimka76 @ Jun 25 2009, 11:17)  у тинек есть интерфейс debug-WIRE, он однопроводный Хороший вариан. Только дороговатый. Загрузчики посмотрел. Неахти: 2 пина, высокая частота( желательно кварц)
|
|
|
|
|
Jun 25 2009, 09:02
|

Профессионал
    
Группа: Участник
Сообщений: 1 091
Регистрация: 25-07-07
Из: Саратов
Пользователь №: 29 357

|
Цитата(pt200 @ Jun 25 2009, 11:06)  ISP чтоли? Если да то 4 пина из 6 доступных использовать проблематично становится + разьем на 5-6 пин тоже немаленький 13, 25 ... 8ми ногие корпуса. А как выйдет 10я так вообще караул будет все ноги под программирование  А откуда появился такой предрассудок, что ноги, используемые для программирования, больше ни для чего использовать нельзя? Программирование контроллера и его работа происходят в разное время и одно другому (почти) никак не мешает. Если во время работы ноги, используемые для программирования, являются выходами, то следовательно подключены ко входам других микросхем и следовательно программатор ничем не помешает. Если же они подключены к выходам, то возможны варианты. Например, выходы некоторых микросхем переходят в третье состояние если на микросхему подать сброс; программатор его подает, следователно если этот сброс завести и на ту микросхему тоже, то она не помешает программированию. Если третье состояние отсутствует, то можно поставить джампер. Если не хочется, можно сигнал завести на контроллер через резистор достаточно большой, чтобы не нагрузить программатор. Даже вывод сброса можно использовать для работы - правда, запрограммировать тогда удастся только один раз.
|
|
|
|
|
Jun 25 2009, 09:42
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Цитата(777777 @ Jun 25 2009, 13:02)  А откуда появился такой предрассудок, что ноги, используемые для программирования, больше ни для чего использовать нельзя? Программирование контроллера и его работа происходят в разное время и одно другому (почти) никак не мешает....... Так я ж написал что проблематично, а не низя. Например бываю такие нагрузки которыми бездумно( при программировании) щелкать нельзя. Про дополнительные микросхемы и джамперы т.д. см. выше( про размеры).
|
|
|
|
|
Jun 25 2009, 11:52
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 27-01-09
Пользователь №: 44 027

|
Существует TinyLoader для загрузки по одному проводу. Портированый для КПК (http://4pda.ru/forum/index.php?showtopic=70782&hl=AVR)
|
|
|
|
|
Jun 25 2009, 11:58
|
Участник

Группа: Участник
Сообщений: 53
Регистрация: 19-05-09
Пользователь №: 49 263

|
Вот набросал на досуге( правда нада отладить еще) для IARа. ( тактовая 128К) Код #define TB_BIT_IO BIT0 #define TB_PIN_IO PINB #define TB_DDR_IO DDRB #define TB_PORT_IO PORTB #define TB_PASS 0xB63A #pragma location="BootLoader" uint8 __tinyBootloader_RX_bit( void) { uint8 ret = 0; while( TB_PORT_IO & TB_BIT_IO){} //Wait '0' __delay_cycles( 30); if( TB_PORT_IO & TB_BIT_IO) // RX = 1 ret = 0x01; while( !( TB_PORT_IO & TB_BIT_IO)){} //Wait '1' return ret; } #pragma location="BootLoader" void __tinyBootloader_TX_bit( uint8 q) { while( TB_PORT_IO & TB_BIT_IO){} //Wait '0' if( !q) // TX = 0 { TB_PORT_IO &= ~TB_BIT_IO; TB_DDR_IO |= TB_BIT_IO; __delay_cycles( 50); TB_DDR_IO &= ~TB_BIT_IO; TB_PORT_IO |= TB_BIT_IO; } __delay_cycles( 30); while( !( TB_PORT_IO & TB_BIT_IO)){} //Wait '1' } #pragma location="BootLoader" void tinyBootloader( void) { uint8 q; uint16 addr, data;
__watchdog_reset(); // if( MCUSR ... XXXXXXXXX) // IF reset || PORF // return;
// Init IO pin TB_DDR_IO &= ~TB_BIT_IO; TB_PORT_IO |= TB_BIT_IO; __delay_cycles( 16); // -------------------- Cheking START BootLoader ------------------------------- ??????????? // Wait '0' ??????????? q = 128; // ??????????? while( TB_PORT_IO & TB_BIT_IO) // ??????????? { // ??????????? if( --q == 0) // TimeOut // ??????????? return; // ??????????? } // ??????????? // -------------------- Connecting --------------------------------------------- // Wait PASS __watchdog_reset(); WDTCR |= BIT4 | BIT3;//( 1 << WDCE) | ( 1 << WDE); WDTCR = BIT3 | BIT2;//( 1 << WDE); // ~0.25 s data = 0; do { data <<= 1; data |= __tinyBootloader_RX_bit(); } while( data != TB_PASS); // Confirm PASS __watchdog_reset(); for( q = 16; q; q--) { __tinyBootloader_TX_bit( ( data & 0x8000)); data <<= 1; } // -------------------- Programming -------------------------------------------- // Program FLASH __watchdog_reset(); for( addr = 0; addr < 0x300; addr += 2) { for( q = 16; q; q--) { data <<= 1; data |= __tinyBootloader_RX_bit(); } __AddrToZWordToR1R0ByteToSPMCR_SPM( ( void __flash*)addr, data, 1); // Fill Flash buffer if( ( ( addr & 0xFF) & 0x0F) == 0x0E) //Page { __AddrToZByteToSPMCR_SPM( ( void __flash*)addr, 3); // Erase Page __AddrToZByteToSPMCR_SPM( ( void __flash*)addr, 5); // Write Page } __watchdog_reset(); } } Принцип 1Ware с другими таймингами. Программатор( железо) будет простое: TXD(TTL) через диод к пину, RXD(TTL) к нему же напрямую. Скорость порта 9600 по прикидкам. Впринципе до 256 байт еще недотягивает, так что можно приделать подтверждение постраничное...... Подготовку таблицы векторов доверю программе на РС. Люди, кто писал бутлоадеры, посоветуйте чего нибудь полезного.
Сообщение отредактировал pt200 - Jun 25 2009, 12:23
|
|
|
|
|
Jun 25 2009, 12:48
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 27-01-09
Пользователь №: 44 027

|
TinyLoader для желающих. .exe для КПК. В .pdf есть все для Delphi.
Прикрепленные файлы
Loader.zip ( 253.47 килобайт )
Кол-во скачиваний: 82
|
|
|
|
|
Jun 26 2009, 06:31
|
Профессионал
    
Группа: Свой
Сообщений: 1 235
Регистрация: 14-05-05
Из: Санкт-Петербург
Пользователь №: 5 008

|
Цитата(Сергей Борщ @ Jun 25 2009, 21:07)  Этот? Все то обсуждение не читал, просто название в глаза бросилось. Нет, тут просто форум, причем, ветка начинается с вопроса, "есть ли в природе маленький бутлоадер". Тот был оформлен в виде проекта и в описании была ссылка которую я выше приводил, в архиве есть описание и исходники для АВР и WIN32. Цитата из описания: Цитата Code size is 48 words. Works from the on-chip oscillator.
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|