Например TDA7294

Форум РадиоКот • Просмотр темы - AT91SAM9260-ek + ULINK2 + KEIL
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 12:33:07

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  
Автор Сообщение
Не в сети
 Заголовок сообщения: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Ср окт 24, 2012 15:54:06 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
Всем доброго времени суток.
Есть отладочная плата AT91SAM9260-ek и программатор ULINK2. В Кеиле открыл прилагающийся к нему же (KEIL) файл проекта для работы с этой платой, мигание пользовательским светодиодом. Программирование происходит без проблем. После сброса платы, светодиод мигать не начинает...
Стал разбираться. Попробовал загрузить через SAM-BA бинарник (шел на диске к плате), все как описано в инструкции сделал, и все заработало - светодиоды мигают. попробовал проект в Keil - не работает. Стал смотреть дальше. Через Терминал посмотрел что выдает плата: RomBOOT > и на этом все. Я так полагаю что при подаче питания загружается первичный загрузчик BootStap, не находит исполнительного кода и останавливается. Собственно вопрос, как сделать что бы в KEIL после программирования сразу запускалась программа? прога грузится в SDRAM.
Заранее спасибо!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Ср окт 24, 2012 16:47:11 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Попробуйте скомпиленный Вами бинарник загрузить через SAM-BA Если лыжи поедут - значит неправильно настроен ULINK. Если нет - то внимательно проверьте опции проекта - адрес запуска, настройка частоты итп. Проблема может быть где угодно. В конце концов у Вас отладчик в руках - запустите отладку и пошагово смотрите, что происходит.

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 13:21:58 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
Проверил в режиме отладки в реальном времени, все работает, диод мигает! В общем ситуация такая (как я понял), что бы запустить программу в автоматическом режиме при подаче питания, нужно загрузить ее в DataFlash, а потом в терминале указать адрес начального запуска, т.е. там где прошита программа. Делал ли кто-нибудь, что бы программа запускалась в автомате по указанному адресу? В сети нашел как это сделать, но что-то боязно так экспериментировать.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 13:42:26 
Вымогатель припоя

Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Пт янв 30, 2009 14:50:35
Сообщений: 625
Откуда: Солнечногорск
Рейтинг сообщения: 0
Если в датафлэшку, начиная с её нулевого адреса, записан правильный образ программы, то загрузчик, намертво зашитый в сам процессор, считает этот образ во внутреннюю память проца и запустит его. Какой именно образ считается правильным, описано в документации на процессор (там, насколько помню, определённым образом должна быть оформлена таблица векторов прерываний, т.е. первые восемь слов образа). Если же образ в датафлэшке оказывается неправильным, то загрузчик пытается найти подходящий образ на других устройствах (только, подозреваю, нигде не сможет из-за бага в самом загрузчике; во всяком случае, насколько помню, в 9261 именно так дело и обстояло). Вот подробностей, извините, не помню -- дело с 9261 имел года 2 назад, если не больше...

Прошивкой неправильных образов в датафлэшку Вы ничего не испортите (ну, кроме возможности загрузить линух или что там шло прошитым заранее), так что экспериментировать можно смело.


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 16:21:20 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
SII, если не ошибаюсь, вы программируете в KEIL. Подскажите пожалуйста, что и где в нем изменить в настройках загрузчика, что бы программа записывалась по адресу скажем не 0х20000000 (этот адрес установлен в проекте по умолчанию) в SDRAM, а по любому другому, например 0x10000000 (EBI CS0) или 0x40000000 (NAND FLASH) ?
Я пробовал в настройках менять 0х20000000 на 0х10000000 и 0х40000000, но при прошивке выскакивает ошибка, что невозможно записать в ARM926EJ-S.
И еще, в описании к МК указано, что если REMAP = 0 и BMS = 0 то идет загрузка с EBI_NCS0 (т.е. с адреса 0х10000000)
А на плате есть перемычка BMS, и если я все правильно понял, то она и указывает BMS = 0 или 1. А вот где и как поменять или посмотреть чему равно REMAP?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 16:42:26 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
Так дебагер это просто устройство на шине. он умеет писать и читать в позиции по памяти.
Флешки он писать не умеет. Но можно написать хитрый скрипт, который управляя через отладчик NAND контроллером таки чтото сможет положить в память, а из нее записать в НАНД -))))))
Но оно надо ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 16:56:31 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
Кстати, в KEIL нашел вот это окно (файлик приложил). там в раскрывающемся списке есть выбор между внутренней памятью и SDRAM. а как добавить еще например NANDFlash или CompactFlash?

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


Вложения:
Комментарий к файлу: внутренняя память или SDRAM
keil.JPG [104.12 KiB]
Скачиваний: 873
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 17:16:03 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
Satyr писал(а):
Флешки он писать не умеет.


т.е. получается он пишет только в SDRAM...

и тогда получается что нужно переменные REMAP и BMS настроить на загрузку EBI_CS0 (адрес 0х10000000) и по этому адресу записать мою прогу, так?

или переменные REMAP и BMS настроить на загрузку EBI_CS0 (адрес 0х10000000) и по этому адресу записать загрузчик, который будет грузить мою прогу (и настроить его на загрузку с нужного адреса), а ее записать по адресу 0х20000000 (SDRAM) или так?

или я вообще все не так понимаю?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 18:08:40 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
путешественник писал(а):
т.е. получается он пишет только в SDRAM...

Неправильно. Пишет он в шину.
А уж кто на конкретном адресе и есть ли вобще он не ведает.

В случае SDRAMа по ту сторону контроллер SDRAM'а. Не будет он проинициализированн - не будет по тому адресу никакого SDRAMа, будет адресное пространство вникуда


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 19:42:37 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Я так понял - знаний=0.
У AT91SAM9260 своей flash нет. Если на плате стоит flash с CFI, то код из нее запустить можно, но в подобных системах чаще используется другой метод - запускается bootstrap из ROM контроллера, который ищет по порядку возможные методы загрузиться (читайте даташит). Те, он по очереди просматривает все возможные подключенные хранилища (Serial flash, EEPROM итд). Как только находится подходящий имидж, он перегружается в RAM и выполняется. Поэтому адрес запуска в настройках линкера - это адрес начала RAM. Настоятельно советую изучить документацию на bootstrap и даташит на камень. И еще, насчет отладчика (Ulink/JLink/etc) и записи flash - отладчик ничего во flash не пишет. Алгоритм следующий - отладчик загружает в память и выполняет специальную программу-флешер, которая и производит запись во flash.
Я именно с AT91SAM9260 дело не имел, но обычно имеется целая куча примеров, шаблонов-скелетов с подробным описанием что и как делать. На демоплатах могут стоять джамперы или конфигурационные перемычки, положение которых определяет метод загрузки камня.
Если не разберетесь, то киньте ссылку на кит, который у вас не хочет работать, вместе разберемся.

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 19:48:46 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
что-то я уже запутался наверное...
1. после подачи питания терминальная программа выдает ответ платы: RomBOOT>
в приложенном файле (карта памяти) я нахожусь в месте обведенном красным овалом, верно?
2. в самбе я "разрешаю" SDRAM и пишу туда программу, по адресу 0х20000000 и она помещается в место обведенное красным квадратом, верно?
3. в той-же самбе когда я пытаюсь "разрешить" DataFlash (CS0 или CS1) плата отвечает что ее нету!?
4. в аннотации справа вверху сказано, что в зависимости от REMAP и BMS выбирается загрузка в ROM, EBI_NCS0 или SRAM (приложил во втором файле) верно?
4. если так, то где эти REMAP и BMS установить?

прошу прощения если вопросы глупые, просто понимаю что я чего-то не понимаю, а чего не понимаю не пойму. :)


Вложения:
внутренняя память.JPG [28.79 KiB]
Скачиваний: 850
память.JPG [52.19 KiB]
Скачиваний: 452
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Чт окт 25, 2012 22:58:28 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
С ARM раньше дел не имел, только AVR и то писал проги на Алгоритм билдере. Кеил изучал. но это было давно и с С51 и КР580ВВ52 (кажись так назывался).

coredumped, плата работает-светодиоды мигают, с этим вроде разобрался. Сейчас не могу понять как сделать что бы моя прога грузилась автоматически, после подачи питания.
отладочная плата у меня Атмеловская, фирменная AT91SAM9260-ek Evalution kit.
документацию на проц изучаю, а вот на bootstrap нет такой, завтра поищу, спасибо за совет.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 09:02:05 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Скачайте атмеловский софтпак http://www.atmel.com/Images/at91sam9260-ek.zip , распакуйте. Там в корне есть index.html - почитайте статью про bootstrap, хоть какое-то объяснение как работает ЭТО у Атмела. Надо признать, что дока на ARM у Atmel - полное говно, но имеем то, что имеем. У Keil есть в составе флешер для загрузки в датафлеш, можете попробовать.
В меню Keil: Flash->Configure Flash Tools... Закладка Utilities выбираем "Use target driver for flash programming", выбираем наш отладчик (у вас Ulink) жмем кнопку Settings - получаем окно Flash download setup. Жмем Add и выбираем из списка AT91SAM9x25 ATD25DF321 и пробуем заливать во флешку. Я бы сам порверил, но подобных девкитов под рукой нет. На работе валяется где-то AT91SAM9G20 - но я туда попаду через неделю, не раньше. Этим у нас другой чел занимался с год назад, щас забросил за ненадобностью. Но если упретесь совсем, найду и сам проверю. Чип хоть и другой, но идеология в плане загрузки, одинаковая.
Еще советую почитать на стартеркитовском форуме http://www.starterkit.ru/html/index.php ... orum&cat=5 - там ребята с подобными проблемами бьются.
И еще один полезный ресурс http://www.at91.com/linux4sam/bin/view/ ... 1Bootstrap

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 10:29:44 
Вымогатель припоя

Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Пт янв 30, 2009 14:50:35
Сообщений: 625
Откуда: Солнечногорск
Рейтинг сообщения: 0
путешественник, KEIL, да и любой другой подобный инструмент через программатор может "дотянуться" только до внутренней памяти контроллера или внешнего ОЗУ (в последнем случае сначала производится настройка контроллера памяти, чтобы это самое ОЗУ уже работало). Чтобы добраться до такой памяти, через программатор выполняется простая команда типа "прочитай ячейку" или "запиши ячейку".

Программирование датафлэшки идёт по-другому, поскольку с точки зрения процессора (а значит, и программатора) она не является массивом ячеек памяти (подключена-то через SPI). Сначала через программатор в ОЗУ "заливается" небольшая программка, которая и будет писать данные в датафлэшку, а потом в оставшееся свободное место ОЗУ порциями записывается информация для датафлэшки, а уже загруженная программка эти данные "шьёт" в датафлэшку. Кстати говоря, примерно то же самое, вероятно, происходит и при записи во внутреннюю флэш-память МК, где она есть (я просто не разбирался, как именно идёт этот процесс): ведь писать в тамошние ячейки, как в обычное ОЗУ, невозможно, надо выполнять ещё всякие другие манипуляции, не всегда описанные в документации.

У KEIL есть набор "алгоритмов" для программирования разных контроллеров, т.е. тех самых мелких программок для работы как с внутренней флэш-памятью, так и внешней (о них выше писал coredumped, когда указывал, где их выбирать). Однако не факт, что они будут в наличии в конкретной версии MDK. У меня сейчас стоит 4.54, и что-то я не вижу там внешние датафлэшки...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 10:36:06 
Друг Кота
Аватар пользователя

Карма: 26
Рейтинг сообщений: 108
Зарегистрирован: Чт ноя 04, 2010 01:56:36
Сообщений: 7439
Откуда: г. Москва
Рейтинг сообщения: 0
SII писал(а):
Кстати говоря, примерно то же самое, вероятно, происходит и при записи во внутреннюю флэш-память МК, где она есть (я просто не разбирался, как именно идёт этот процесс):

Да.
собсно, в том же IARе можно посмотреть собсными глазами.
например, C:\Program Files\IAR Systems\Embedded Workbench 6.0\arm\config\flashloader\ST\FlashSTM32F10xxxRAM4K.out - лоадер нашего любимого "АРМ за 1$" :)))

Перед загрузкой и запуском флешлодера, дебагер непосредственной записью в регистры переферии инициализирует МК скриптом.
в вышеупомянутом случае FlashSTM32F10xxx.mac

Если памяти дофига и чтоб ускорить загрузку больших приложений и съэкономить ресурс флеша, можно написать свои лодеры, скрипты.
Я lpc178x с прогой в 256кб отлаживаю... из внешнего SDRAMа, куда прога грузится заметно шустрее, чем во флеш.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 13:20:33 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
coredumped, спасибо за ссылки, изучаю. Сходил по последней ссылке, сделал как там описано, но при инициализации dataflash, ответ от платы:
DATAFLASH::Init 0
-I- DATAFLASH::Init 0 (trace level : 3)
-I- Loading applet isp-dataflash-at91sam9260.bin at address 0x20000000
-E- Script error: Error Initializing DataFlash Applet (Can't detect known device)
(AT91-ISP v1.11) 3 %


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 17:32:46 
Вымогатель припоя

Карма: 4
Рейтинг сообщений: 40
Зарегистрирован: Пт янв 30, 2009 14:50:35
Сообщений: 625
Откуда: Солнечногорск
Рейтинг сообщения: 0
Пара причин возможных проблем, сразу пришедших в голову:

1. Возможно, на Вашей плате какой-нибудь перемычкой выбирается, загружать из датафлэшки или с СД-карты (где-то вроде встречал подобное решение). Если такая возможность имеется, надо убедиться, что перемычка замкнута так, чтобы давать доступ именно к датафлэшке.

2. Возможно, слишком древняя версия прошивалки, а на плате стоит новая датафлэшка, вот её и не опознаёт и не знает, как с ней работать...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пт окт 26, 2012 17:57:23 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
перемычек несколько, но только одна выбирает загрузку через:
Enables boot on the NCS0 или Enables boot on the internal ROM
пробовал и так и так.
по второму пункту, "прошвалку" (сам-ба) взял с диска, который шел с платой. сам-ба версии 2.7. датафлеш atmel 45DB642D-CNU


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пн окт 29, 2012 12:01:05 
Родился

Зарегистрирован: Ср окт 24, 2012 15:34:39
Сообщений: 11
Рейтинг сообщения: 0
отладочная плата почему-то перестала определяться самбой через usb :(
перед этим я попробовал загрузить bootstrap в нандфлэш и у меня все получилось, нандфлэш проинициализировалась и бинарник записался. но после этого плата перестала определяться самбой по USB....
подскажите, почему и как сделать что-бы плата по usb пределялась самбой?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: AT91SAM9260-ek + ULINK2 + KEIL
СообщениеДобавлено: Пн окт 29, 2012 20:37:56 
Опытный кот
Аватар пользователя

Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19
Сообщений: 838
Откуда: с Земли
Рейтинг сообщения: 0
Все правильно. Она будет видеться самбой, когда выполняется загрузчир из ROM. Те, если бутлоадеру не удалось загрузить какое-либо приложение, он переходит в режим DFU и плата видится по USB. Короче, пока работает бутлоадер - плата видится как "SAMBA чета-там", когда бутлоадер запустил вашу программу - тут уже ваша программа определяет, как будет работать USB (host/device/OTG...)

_________________
Все будет только лучше, в крайнем случае - хуже.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  1,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: DENIS451 и гости: 19


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y