|
|
  |
IAR Cstartup, Помогите начинающему! |
|
|
|
Apr 28 2007, 08:48
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Помогите начинающему! Столкнулся с такой проблемой: есть исходник мигалки светодиодов, поставлялся с диском платы 91SAM7S64 (плата простенькая), так вот этот пример работает только через отладчик через jtag (RAM-debug),после прошивки через SAB-BA или H-JTAG ничего не работает, а пример с сайта атмел BASIC (тоже работа с портом i\o) работает как через отладчик так и при прошивке через SAM-BA или H-JTAG. различия в этих проектах только то ч то у атмеловского явно переопределен Cstartup файл. Все ли и всегда ли создают свой cstartup файл для реальных проектов? или это не изза него? (2 примера для сравнения)
AT91SAM7S_BasicTools.rar ( 241.17 килобайт )
Кол-во скачиваний: 182
Blinking_LED.rar ( 84.13 килобайт )
Кол-во скачиваний: 203
|
|
|
|
|
Apr 28 2007, 12:48
|
Участник

Группа: Свой
Сообщений: 45
Регистрация: 19-04-07
Пользователь №: 27 172

|
Цитата(An@BoLiK @ Apr 28 2007, 11:48)  Все ли и всегда ли создают свой cstartup файл для реальных проектов? или это не изза него? Вполне может быть именно из-за cstartup и еще из-за .xcl-файла, в котором прописаны адреса RAM и ROM. Свой cstartup создают не все и не всегда, но ИМХО в большинстве случаев. Для начала можно взять этот файл из того примера, который заработал. Но рекомендую с этим файлом разобраться, просмотреть что и как он делает. В этом файле проводится установка стеков всех режимов (в примерах может и не всех), инициализация переменных, вызов подпрограммы начальной инициализации (в ней нужно выполнить то, что необходимо сразу после сброса - выключение watchdog, инициализация портов, переключение на высокую скорость исполнения программы и т.п.)
|
|
|
|
|
Apr 29 2007, 19:54
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Так у вас же в проекте вообще startup-а нет, типа IAR сам че хочет подставляет. Ну ладно можно не изменять, но подключить явно и знать что в нем находится всетаки стоило бы. А проблема скорее всего, что у вас при старе отладки через wiggler выполняется стартовый макрос, который, естественно, не выпоняется при старте прошитой программы. Цитата(An@BoLiK @ Apr 28 2007, 09:18)  Помогите начинающему! Столкнулся с такой проблемой: есть исходник мигалки светодиодов, поставлялся с диском платы 91SAM7S64 (плата простенькая), так вот этот пример работает только через отладчик через jtag (RAM-debug),после прошивки через SAB-BA или H-JTAG ничего не работает, а пример с сайта атмел BASIC (тоже работа с портом i\o) работает как через отладчик так и при прошивке через SAM-BA или H-JTAG. различия в этих проектах только то ч то у атмеловского явно переопределен Cstartup файл. Все ли и всегда ли создают свой cstartup файл для реальных проектов? или это не изза него? (2 примера для сравнения)
AT91SAM7S_BasicTools.rar ( 241.17 килобайт )
Кол-во скачиваний: 182
Blinking_LED.rar ( 84.13 килобайт )
Кол-во скачиваний: 203
|
|
|
|
|
Apr 29 2007, 20:03
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
так и не разобрался, может кто нибудь скинуть простенький работающий проект который работает после прошивки (без startup'a).
|
|
|
|
|
Apr 29 2007, 21:21
|
Участник

Группа: Свой
Сообщений: 69
Регистрация: 24-04-07
Из: Харьков
Пользователь №: 27 289

|
Цитата(Сергей Борщ @ Apr 29 2007, 21:53)  http://sourceforge.net/project/showfiles.php?group_id=181958 возьмите там файл scmRTOS.3-00.arm7.AT91SAM7.IAR_4-30.zip В нем проекты, которые работают как из RAM так и из флеш. Проекты проверены, работают. Возможно придется изменить тип отладчика (там стоит j-link).  да но это несовсем простенький проект, (до ОС мне еще как до Киева.....)
|
|
|
|
|
May 22 2007, 13:44
|
Частый гость
 
Группа: Свой
Сообщений: 75
Регистрация: 7-04-05
Из: Украина
Пользователь №: 3 948

|
Цитата(An@BoLiK @ Apr 28 2007, 11:48)  Помогите начинающему! Столкнулся с такой проблемой: есть исходник мигалки светодиодов, поставлялся с диском платы 91SAM7S64 (плата простенькая), так вот этот пример работает только через отладчик через jtag (RAM-debug),после прошивки через SAB-BA или H-JTAG ничего не работает, а пример с сайта атмел BASIC (тоже работа с портом i\o) работает как через отладчик так и при прошивке через SAM-BA или H-JTAG. различия в этих проектах только то ч то у атмеловского явно переопределен Cstartup файл. Все ли и всегда ли создают свой cstartup файл для реальных проектов? или это не изза него? (2 примера для сравнения)
AT91SAM7S_BasicTools.rar ( 241.17 килобайт )
Кол-во скачиваний: 182
Blinking_LED.rar ( 84.13 килобайт )
Кол-во скачиваний: 203Похоже, это пример для платы SAM-P64 от Olimex.... С этим примером у меня тоже были проблемы.... Также работал из RAM, но нивкакую из флешь.... Помогло добавление функцию InitFrec() 1 такта задержки для флешь AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS ; и заменой в этой же функции строк: pPMC->PMC_MCKR = AT91C_PMC_CSS_PLL_CLK | AT91C_PMC_PRES_CLK_2 ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); на строки pPMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2 ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY)); pPMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK ; while(!(pPMC->PMC_SR & AT91C_PMC_MCKRDY));
Сообщение отредактировал XsanyaX - May 22 2007, 14:41
--------------------
Метрология - наука о достаточной точности.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|