Получил недавно плату и начал разбираться. И сразу же вылезла проблема при работе через Самбу. На старом форуме есть похожая ветка, но мне не очень помогла. Поэтому создаю новую тему.
Далее, чтобы было понятно, по шагам расписываю свои действия.
1. Устанавливаю свежий AT91-ISP v1.13 со всеми патчами.
Подключаю MT-Link – дрова не устанавливаются.
2. Иду по ссылке http://www.segger.com/cms/jlink-software.html. Скачиваю J-Link Software and Documentation Pack V41.2. Отключаю MT-Link. Устанавливаю Пакет. Снова подключаю MT-Link. Дрова установились.
3. Подключаю MT-Link к плате и включаю питание.
4. Запускаю программу J-Link ARM V4.12 из пакете Segger. Видно 1 JTAG устройство ARM926EJ-S.
5. Запускаю SAM-BA. В параметрах выбираю \jlink\ARM0 at91sam9xe512-ek
6. Далее вылетает сообщение «External RAM initialization faild. External RAM access is required to run applets. Continue anyway?» Выбрал Да.
7. Выбираю вкладку DataFlash. Скрипт Enable Dataflash (SPI0 CS0). Нажимаю Execute.
8. В логе пишет:
В программе SEGGER J-Link ARM V4.07c-Control Panel (которая появляется в трее) показывает наличие передачи и ее продолжительность.
При этом сама самба виснет.
После 600 сек ожидания прервал эту бодягу выключением питания платы.
Все вышеописанные мучения проделывались вчера подно вечером. Ничего не добившись, ушел спать. А сегодня сутна, на свежую голову, проблему решил (но вопросы остались).
Далее выкладываю пошаговую последовательностьсвоих действий ( может кому полезно будет).
В папке C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\applets\isp-project\tcl_lib лежат, как я понял, бинарники апплетов, которые при запуске загружаются самбой в ОЗУ, и соответствующие скрипты. И апплеты для платы at91sam9xe512-ek не соответствуют моей плате.
В одной из веток Павел давал ссылку на свою самбу (еще раз даю ссылку).
Итак:
1. В файл C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\applets\isp-project\tcl_lib\boards.tcl добавляю строку: .
2. В папку C:\Program Files\ATMEL Corporation\AT91-ISP v1.13\sam-ba 2.9\applets\isp-project\tcl_lib копирую папку «sam-ba_2.9_cdc_xp_vista\applets\isp-project\tcl_lib\mat91sam9xe512-sk» из самбы Павла
3. Включаю плату и запускаю Самбу. Выбираю плату mat91sam9xe512-sk и жму подключиться. Сообщение об ошибке не вылетает и самба нормально стартует.
4. Выбираю вкладку DataFlash. В ней выбираю скрипт Enable Dataflash (SPI0 CS0) и жму Execute.
5. В лог выводится следующее:
и далее можно работать.
Насколько я понял, главным отличием моей платы от at91sam9xe512-ek является разрядность шины данных равная 16 бит (задается в файле mat91sam9xe512-sk.tcl). Кроме того, в этом файле убраны лишние блоки, касающиеся отсутствующих микросхем: SERIALFLASH, EEPROM, NANDFLASH, NOFLASH.
Также, насколько я понял, был перекомпилирован соответствующий бинарник. В связи с этим вопрос: где и что нужно менять под мою плату, как и чем компилларовать (так понимаю исходник должен наличествовать…).
З.Ы. Прошу сильно не пинать за возможно простой вопрос, я раньше работал только в AVR-ками.
Возможно, в процессе освоения я обращаю много внимания на незначительные детали.
Бинарные файлы апплетов, которые самба грузит в ОЗУ из папки tcl_lib\at91sam9xe512-ek
isp-dataflash-at91sam9xe512.bin и
isp-flash-at91sam9xe512.bin
немного отличаются по размеру от таких же файлов в вашей папке tcl_lib\mat91sam9xe512-sk.
Я попробовал оба варианта и оба, вроде, работают. Только единственное, что я увидел - самба с апплетами, которые я скачал с сайта атмела читает DataFlash блоками по 19С80h байт, а с теми апплетами, которые я взял из вашего дистрибутива чтение идет блоками по 40740h байт.
Хотя версии самбы у нас одинаковые - 2.9.