Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT91RM9200 и UART Bootloader
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Костян
Добрый день!
Есть отладочная плата KB9202 под AT91RM9202. Каким софтом можно зашить программу а-ля "Hello world" через UART Bootloader ?
Lelick
AT91RM9200 прошивать х-модемом, а вот на счет AT91RM9202 не знаю
Костян
Цитата(Lelick @ Aug 16 2006, 03:04) *
AT91RM9200 прошивать х-модемом, а вот на счет AT91RM9202 не знаю

Поправка AT91RM9200 конечно.
makc
Цитата(Костян @ Aug 15 2006, 19:14) *
Добрый день!
Есть отладочная плата KB9202 под AT91RM9202. Каким софтом можно зашить программу а-ля "Hello world" через UART Bootloader ?


Посмотрите в сторону раздела EVM9200 по адресу http://www.ucrouter.ru/download.html
Костян
Цитата(makc @ Aug 16 2006, 08:05) *
Посмотрите в сторону раздела EVM9200 по адресу http://www.ucrouter.ru/download.html

Благодарю за ссылку, но уже там был smile.gif
Для меня интересно поигратся с портами (светодиодами) из под Windows(не спрашивайте зачем biggrin.gif ). IDE выбрал Keil (про запас IAR 4.30, т.к в оценочной версии первого не работает симулятор).
EVM9200 похожа на мою KB9202. JTAG такой же 20 пиновый (схема дана на сайте).
Но вот вопрос каким софтом шить ARM на этой плате.
http://www.kwikbyte.com/KB9202_description_new.htm
dch
Описание не смотрел не смотрел, но если там стоит параллельная flash или SPI flash, то их можно прошить утилиткой:
http://www.ucrouter.ru/download/AT91RM9200-29lv160d.bin
makc
По Вашей ссылке нашел в описании следующую фразы:
Цитата
Parallel FLASH
The 16 MB parallel FLASH is allocated at address 0x10000000. The device(s) can be erased and programmed using the ramMonitor utility (see ramMonitor).
NAND FLASH
The 32 MB NAND FLASH (KB9202B) is accessed via the processor’s NAND flash controller and is supported in the Linux kernel.


Т.е. разбирайтесь с ramMonitor, который должен быть в комплекте, либо пишите софтину под Linux и зашивайте ее в NAND.
Lelick
Цитата(Костян @ Aug 16 2006, 14:36) *
Цитата(makc @ Aug 16 2006, 08:05) *

Посмотрите в сторону раздела EVM9200 по адресу http://www.ucrouter.ru/download.html

Благодарю за ссылку, но уже там был smile.gif
Для меня интересно поигратся с портами (светодиодами) из под Windows(не спрашивайте зачем biggrin.gif ). IDE выбрал Keil (про запас IAR 4.30, т.к в оценочной версии первого не работает симулятор).
EVM9200 похожа на мою KB9202. JTAG такой же 20 пиновый (схема дана на сайте).
Но вот вопрос каким софтом шить ARM на этой плате.
http://www.kwikbyte.com/KB9202_description_new.htm


http://www.atmel.com/dyn/products/tools.asp?family_id=605

там и прошивки, и пояснения по их использованию, и исходники.
Костян
Цитата(makc @ Aug 16 2006, 08:44) *
Т.е. разбирайтесь с ramMonitor, который должен быть в комплекте, либо пишите софтину под Linux и зашивайте ее в NAND.

Будте добры поясните как установить Rammonitor и передавать бинарники (*.bin) ?
А лучше задайте направление на поиск азов (с ARM второй день)
Костян
Возможно ли загружать бинарника с помощью софтины SAM-BA в этот девай (в списке поддерживаемых есть только старые аналоги)?
makc
Цитата(Костян @ Aug 16 2006, 18:00) *
Цитата(makc @ Aug 16 2006, 08:44) *

Т.е. разбирайтесь с ramMonitor, который должен быть в комплекте, либо пишите софтину под Linux и зашивайте ее в NAND.

Будте добры поясните как установить Rammonitor и передавать бинарники (*.bin) ?
А лучше задайте направление на поиск азов (с ARM второй день)


Для начала возьмите Datasheet на процессор и внимательно его почитайте в разделе, где описывается процесс загрузки процессора. В частности, Вам нужно путем установки соответствующего джампера на плате (или аналогично) перевести процессор в режим загрузки через Debug UART, после чего передать запустившемуся загрузчику по протоколу Z-Modem соответсвующий .bin с прошивкой для работы из памяти. Дальше будет работать переданный .bin и Вы сможете общаться с ним через отладочный интерфейс.

Другой путь - использовать JTAG адаптеры типа Wiggler для программирования и загрузки программ.
Lelick
Цитата(makc @ Aug 16 2006, 23:36) *
, после чего передать запустившемуся загрузчику по протоколу Z-Modem соответсвующий .bin с прошивкой для работы из памяти. Дальше будет работать переданный .bin и Вы сможете общаться с ним через отладочный интерфейс.


Не Z-модем, а Х-модем
Костян
Цитата(Lelick @ Aug 17 2006, 05:19) *
а Х-модем

А с помошью какой программы передавать *.bin по х-модемы (с гипертерминала виндозного не удается, передача не начинается, если же открыть бинарник и скопировать его в буфер , а затем вставить процесс начинается , но зависает HyperTerminal)
Lelick
Загрузка выполняется следующим образом: цепляем плату за ком (который подключен к ногам DTXD,DRXD проца), включаем hyper terminal ( win2000, никогда не имел проблем при загрузке с него), включаем плату, если в ней ничего не зашито (в spi dataflash, i2c eeprom, flash; если что-то зашито, то достаточно убрать микросхему или оторвать ее чип селект), то он начнет гнать символ 0х43 (буква 'C') с переодичностью около 1 сек на 115200 (), после этого нажимаем 'отправить файл' и отправляем соответствующий файл.
Костян
Цитата(Lelick @ Aug 17 2006, 08:06) *
Загрузка выполняется следующим образом: цепляем плату за ком (который подключен к ногам DTXD,DRXD проца), включаем hyper terminal ( win2000, никогда не имел проблем при загрузке с него), включаем плату, если в ней ничего не зашито (в spi dataflash, i2c eeprom, flash; если что-то зашито, то достаточно убрать микросхему или оторвать ее чип селект), то он начнет гнать символ 0х43 (буква 'C') с переодичностью около 1 сек на 115200 (), после этого нажимаем 'отправить файл' и отправляем соответствующий файл.

Благодарю, но EEPROM запаян (SMD) При включчении платы запускается Autoboot
Код
KB9202B(www.kwikbyte.com) v2.0 at block                                      

Auto boot..          
0 s    
0x00 : Bootloader for KB9202 Evaluation Board.[E]                                                
VFS: Mounted root (ext                      
0x01 : c 0x20210000 0x10100000 0x80000        [E]                                                
Freeing init memory: 80Krede 80x30                                  
0x02 : m 0 0 0 0 0 0                          [E]lized: 16 RAM disks                                                                    
0x03 : t 0x20000100 console=ttyS0,115200 root=/dev/ram rw initrd=0x20210000,6549                                                                                
  KB9202 (www.kwikbyte.com)  s: 4096 (or                                        
33[E]    
0x04 : e 0x10000000                           [E]                                                
****************                
0x05 :                  [E]                          
0x06 : [E]0-HalfDupl                    
0x07 : [E]0:00:00:00                    
0x08 : [E]          
0x09 : [E]          

>Bootloader for KB9202 Evaluation Board. 0$0
И Т.Д


Если нужно помигать лампочкой нужен ли RamMonitor и возможно ли стереть Bootloader ?
Костян
Прошу прошения за новые сообщения , не активна кнопка изменить
При подключении питания запускается линукс, как его выгрузить, на демоплате не хватает перемычек(посадочное место есть), которые отвечает за загрузку.
Lelick
Насколько я понял у вас грузится линух, так что помигать лампочкой можно утилитой скачиваемой отсюда:

http://www.ipbx.ru/rm9200/

Чтобы перешить скорее всего (точно не могу сказать у меня другая схема и другие загрузчики) нужно
Код
KB9202B(www.kwikbyte.com) v2.0 at block                                      

Auto boot..          
0 s    
0x00 : Bootloader for KB9202 Evaluation Board.[E]


дать появится надписи auto boot и нажать любую клавишу в hyper терминале не дав ему досчитать до нуля и начать загрузку линуха. Смею предположить, по аналогии со своим загрузчиком, что при этом вы войдете в систему команд загрузчика, где можно перешить и загрузчик и систему.
Костян
Цитата(Lelick @ Aug 17 2006, 10:05) *
Насколько я понял у вас грузится линух, так что помигать лампочкой можно утилитой скачиваемой отсюда:

http://www.ipbx.ru/rm9200/

Посмотрю smile.gif

Цитата
дать появится надписи auto boot и нажать любую клавишу в hyper терминале не дав ему досчитать до нуля и начать загрузку линуха. Смею предположить, по аналогии со своим загрузчиком, что при этом вы войдете в систему команд загрузчика, где можно перешить и загрузчик и систему.

Работает, я так делал раньше , но не предал этому значения, т.к файлы все так же не передавались (пробовал завершать задачи в линукс , но он автоматом перезагружается)
Так на данный момент остановил загрузку Линукс.
Как загрузить и запустить *.bin файл ? Heperterminal и другие похожие программы не передают файл.
НУжно ли прописывать такие команды перед загрузкой ?
c 0x20210000 0x10100000 0x80000
m 0 0 0 0 0 0[E]
t 0x20000100 ?

Возможно ли сделать загрузку , запустив линукс и в нем уже пробивать пути?


З,Ы Благодарю за такое поэтапное обьяснение.
makc
Цитата(Lelick @ Aug 17 2006, 11:19) *
Цитата(makc @ Aug 16 2006, 23:36) *

, после чего передать запустившемуся загрузчику по протоколу Z-Modem соответсвующий .bin с прошивкой для работы из памяти. Дальше будет работать переданный .bin и Вы сможете общаться с ним через отладочный интерфейс.


Не Z-модем, а Х-модем


Извиняюсь, опечатался. laugh.gif
Костян
Все вопросы сняты, вероятно был глюк в гипертерминале (а может и у меня smile.gif ) , сейчас все передает
Костян
Цитата(Костян @ Aug 17 2006, 12:21) *
Все вопросы сняты, вероятно был глюк в гипертерминале (а может и у меня smile.gif ) , сейчас все передает

И все же вопрос по загрузке не решен.
Все также пытаюсь мигать лампочкой
Код следующий
Код
#include "AT91RM9200.h"
#define LED_USER ( 0x1<<18 )




int main()
{
  /* general preparations */
  AT91C_BASE_AIC->AIC_IDCR = 0xFFFFFFFF;  /* reset the aic, disable all interrupts */
  AT91C_BASE_AIC->AIC_ICCR = 0xFFFFFFFF;  /* clear all interrupts */
  AT91C_BASE_PMC->PMC_PCER |= ( 1UL<<AT91C_ID_PIOC );  /* enable piob */
  /* prepare output */
  AT91C_BASE_PIOC->PIO_PER |= ( LED_USER );  /* pio enable for LED */
  AT91C_BASE_PIOC->PIO_OER |= ( LED_USER );  /* LED are output */
  /* enable global interrupts */
//  __enable_interrupt( );
  /* init blinking */
//  AT91C_BASE_TC2->TC_RA = AT91C_BASE_TC2->TC_CV + TIME;
//  AT91C_BASE_TC2->TC_IER |= AT91C_TC_CPAS;  /* enable RA compare int */
  for(;; )
    {
       AT91C_BASE_PIOC->PIO_CODR |= ( LED_USER );
        AT91C_BASE_PIOC->PIO_SODR |= ( LED_USER );
    }
}


Написано и откомпилировано в IAR v4.11 . Затем с помощью утилиты hex2bin (размещенной на сайте Keil) создан bin файл
Далее в гипертерминале набираю
x 0x10000000 (область флэш)
отправляю файл bin
запускаю командой e 0x10000000
Никакого свечения (задержки нету , должен гореть) диода не наблюдается.

Где возможная ошибка, в способе загрузки или может в коде ?
Ken@t
Цитата(Костян @ Aug 22 2006, 20:36) *
Цитата(Костян @ Aug 17 2006, 12:21) *

Все вопросы сняты, вероятно был глюк в гипертерминале (а может и у меня smile.gif ) , сейчас все передает

И все же вопрос по загрузке не решен.
Все также пытаюсь мигать лампочкой
Написано и откомпилировано в IAR v4.11 . Затем с помощью утилиты hex2bin (размещенной на сайте Keil) создан bin файл
Далее в гипертерминале набираю
x 0x10000000 (область флэш)
отправляю файл bin
запускаю командой e 0x10000000
Никакого свечения (задержки нету , должен гореть) диода не наблюдается.

Где возможная ошибка, в способе загрузки или может в коде ?

В голове, читать даташит и взять пример в кталоге SRC для платы ЕК . а также опубликовать стартап файл, мас и xls
pg

ПС и каталог проекта зазиповать и бросить сюда
Костян
Цитата(Ken@t @ Aug 22 2006, 14:52) *
взять пример в кталоге SRC для платы ЕК
ПС и каталог проекта зазиповать и бросить сюда

Из этого примера , я и делал свои лампочки sad.gif
Архив проекта прикрепил. Опишите если не трудно подробное руководство по заливке через гипертерминал.


З,Ы Будет ли проще осваивать ARM через JTAG или же UART bootloader достаточно ?
Ken@t
Цитата(Ken@t @ Aug 22 2006, 14:52) *
З,Ы Будет ли проще осваивать ARM через JTAG или же UART bootloader достаточно ?

JTAG , бутлодырь потом понадобится..
Вам надо добавить в проект *.xlc файл для начала, во вторых... ВНИМАТЕЛЬНО посмотреть из каких файлов состоит проект в примере.
В третих спаять виглера... и читать даташит как происходит загрузка и что куда записывается...
ваш пример работать не будет.
Костян
Разобрался , замигали . Пасиб.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.