Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
01.12.2010, 20:59
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
DataSheet на AT91SAM9260 читал. Просто нужно как-то проект настроить, чтобы все правильно грузилось куда надо. Вот узнал, что нужно еще как-то файл startup.s подсунуть к проекту. Написал свой - ругается на самую первую команду
Код:
|
AREA VECTORS, CODE, READONLY |
Ну и так далее...
|
|
|
|
01.12.2010, 21:52
|
|
Вид на жительство
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Так почему бы не взять рабочий проект, с рабочим стартапом, линковочным файлом и настройками?
Примеры есть в самом компиляторе.
|
|
|
|
02.12.2010, 08:36
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Просто у меня не Evaluation Board, а MMNET1001. Так что проект может и не запуститься, но я попробую сделать, позже отпишусь. Но ведь если начинать проект с нуля должны же быть указания как настраивать его чтобы все отлаживалось и заработало. Вот это то мне и интересно, всякие там нюансы.
|
|
|
|
02.12.2010, 10:43
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Попробовал, взял проект getting-started-project-at91sam9260-ek, открыл файл main.c, вставил туда свой код. Гружу в SDRAM Нажимаю Download and Debug, и... Никакого эффекта. Debugger не запустился, на ножке по прежнему ничего.
Привожу на всякий случай лог:
Код:
|
Building configuration: at91sam9260-ek - at91sam9260_sdram
Updating build tree...
aic.c
board_cstartup_iar.s
board_lowlevel.c
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\boards\at91sam9260-ek\board_lowlevel.c 192
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\boards\at91sam9260-ek\board_lowlevel.c 193
board_memories.c
cp15.c
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\cp15\cp15.c 139
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\cp15\cp15.c 195
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\cp15\cp15.c 196
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\cp15\cp15.c 257
cp15_asm_iar.s
dbgu.c
led.c
main.c
pio.c
pio_it.c
Remark[Pe193]: zero used for undefined preprocessing identifier C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\utility\trace.h 134
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\pio\pio_it.c 226
pit.c
Remark[Pe068]: integer conversion resulted in a change of sign C:\Examples\IAR\getting-started-project-at91sam9260-ek\at91lib\peripherals\pit\pit.c 84
pmc.c
tc.c
Linking
at91sam9260_sdram.out |
Пробую загрузить в NORFLASH результат такой же.
|
|
|
|
02.12.2010, 12:17
|
|
Вид на жительство
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Не в SDRAM.
Грузить в SRAM0, и при этом подтянуть remap к "1".
|
|
|
|
02.12.2010, 12:20
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Цитата:
|
Смотреть чтоб ложился в SRAM0 и remap должно быть =1.
|
У меня тут параллельно несколько вопросов возникло:
1. Как сделать Remap = 1?
Бит BMS, если верить схеме MMNET1001 подтянут к логической единице:
2. Как с правильно настроить Linker для моего контроллера, чтобы прошить в SDRAM, привожу свой вариант:
Цитата:
|
.inrvec start = 0x200000;
ROM Start = 0x10 0000
ROM Stop = 0x10 7FFF;
RAM Start = 0x200000;
RAM Stop = 0x200FFF;
|
|
|
|
|
02.12.2010, 13:05
|
|
Вид на жительство
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Верно, SRAM0 это и есть:
RAM Start = 0x200000;
RAM Stop = 0x200FFF;
REMAP это бит в MATRIX_MRCR(в общем то их 2 )
если он установлен дебаггером при запуске, исполнятся начнется SRAM0
|
|
|
Сказали "Спасибо" Alecsej
|
|
|
02.12.2010, 13:26
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Спасибо ОГРОМНОЕ, все запустилось!!! Но у меня еще очень много вопросов. Например. я не понимаю почему IAR ругается на мой стартап, для меня это большая загадка, тем более в документе AT91 Assembler Code Startup Sequence for C Code Applications Software написано как пример строчка
Цитата:
|
AREA reset, CODE, READONLY
|
У меня на нее пишет Error[40]: Bad instruction
Если ее закоментить то ту же ошибку выдает на строчку:
Цитата:
|
LDR PC, Reset_Addr; Загрузка в регистр счетчика команд PC адреса прерывания по сбросу (Reset)
|
В чем тут может быть дело?
Я так понял, что REMAP делается в файле макроса at91sam9260-ek-sdram.mac, который подключается в Options-›Debugger-›Setup macros?
Можно ли обойтись без подключения этого файла, а всю инициализацию PLL и REMAP делать вначале main.c?
Последний раз редактировалось ZED®; 02.12.2010 в 13:28.
|
|
|
|
02.12.2010, 13:58
|
|
Вид на жительство
Регистрация: 10.08.2005
Сообщений: 385
Сказал спасибо: 0
Сказали Спасибо 161 раз(а) в 140 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
Assembler в разных версиях IARа отличается. Код написанный для 4.42 не компилируется в 5.xx.
REMAP , в данном случае, нужен для отладки.
Иначе после ресета включится внутренний загрузчик.
|
|
|
|
03.12.2010, 13:50
|
|
Частый гость
Регистрация: 03.08.2010
Сообщений: 23
Сказал спасибо: 6
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Проба пера AT91SAM9260 + IAR + J-Link
У меня тут еще один вопрос возник. При выполнении программного сброса (Software Reset) контроллер будет опять переходить на нулевой адрес или куда-то еще? В каком будет состоянии микропроцессор?
Я так понял, что он тактироваться от медленной тактовой частоты, вся переферия будет отключена, PLL тоже, собьется REMAP.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
Подниму тему WinAVR vs IAR
|
oleg110592 |
Микроконтроллеры, АЦП, память и т.д |
5 |
24.10.2015 14:06 |
Часовой пояс GMT +4, время: 16:07.
|
|