|
TI AM1808, разные вопросы |
|
|
|
Jun 25 2014, 08:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Не работает кусок кода для настройки регистра , в чём может быть проблема: Код unsigned int *pPinMux = (unsigned int *) PINMUX_REG_ADDR;
void SetPinMux(void) { unsigned int savePinmux = 0;
savePinmux = *pPinMux; savePinmux |= 1; *pPinMux = savePinmux; } Если указатель на обычный кусок памяти - всё гуд.
|
|
|
|
|
 |
Ответов
|
Jun 25 2014, 17:48
|

Знающий
   
Группа: Участник
Сообщений: 531
Регистрация: 16-12-09
Пользователь №: 54 291

|
Тут другой вопрос скорее... Кто и зачем включил этот user mode? По reset-у согласно документации ядро стартует супервайзером (Table 2-1.)
Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 17:49
--------------------
Sauris GmbH technical support (web site: http://www.sauris.de) XDS100, XDS510 JTAG Emulators for TI DSP & ARM, Flash/EEPROM programming JTAG tools, System-on-Module products.
|
|
|
|
|
Jun 26 2014, 03:15
|

Знающий
   
Группа: Участник
Сообщений: 531
Регистрация: 16-12-09
Пользователь №: 54 291

|
Цитата(doom13 @ Jun 26 2014, 00:00)  Максимум, я при старте запускал скрипты из GEL, если только они, там OnConnect что-то выполняется, надо глянуть ещё раз, далее main и сразу настройка PINMUX17, которая и не работает. Там еще bootloader есть... По Reset именно в него входит процессор, и он что-то там делает согласно режима загрузки. По идее, если сделать Reset CPU через эмулятор, тогда процессор будет "в чистом состоянии", если же просто подключиться после подачи питания, то он прервет нечто, что исполняется в текущий момент, в каком-то неясном состоянии.
--------------------
Sauris GmbH technical support (web site: http://www.sauris.de) XDS100, XDS510 JTAG Emulators for TI DSP & ARM, Flash/EEPROM programming JTAG tools, System-on-Module products.
|
|
|
|
|
Jun 26 2014, 08:05
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SAURIS GmbH @ Jun 26 2014, 06:15)  Там еще bootloader есть... По Reset именно в него входит процессор, и он что-то там делает согласно режима загрузки. По идее, если сделать Reset CPU через эмулятор, тогда процессор будет "в чистом состоянии", если же просто подключиться после подачи питания, то он прервет нечто, что исполняется в текущий момент, в каком-то неясном состоянии. Подключаюсь, заливаю прошивку, делаю CPU Reset (рис. 1). Подключаюсь, заливаю прошивку, делаю CPU Reset, Restart (рис. 2). Цитата(AndrejM @ Jun 26 2014, 06:46)  для чистоты экспериментов , у bootloader есть режим Emulation Debug если его установить (boot mode pins) то после reset ничего вообще исполняться не будет в ожидании коннекта через jtag Счас ещё раз проверю, но этот режим и устанавливали. Цитата(doom13 @ Jun 26 2014, 09:34)  Цитата(AndrejM @ Jun 26 2014, 06:46)  для чистоты экспериментов , у bootloader есть режим Emulation Debug если его установить (boot mode pins) то после reset ничего вообще исполняться не будет в ожидании коннекта через jtag
Счас ещё раз проверю, но этот режим и устанавливали. BOOT[7:0] = 0001_1110, что и соответствует Emulation Debug. Ну и вопрос тогда, кто мог переключить режим из Supervisor mode в User mode? Цитата(SAURIS GmbH) Поставил, как и ранее, точку останова, через ARM Advanced Features установил MMU Enabled, поменял значение ARM Mode на Supervisor Mode, убрал MMU Enabled, всё заработало! Регистр PINMUX и пишется и читается, проблема, как Вы и говорили, в режиме User Mode.
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 26 2014, 13:17
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(doom13 @ Jun 26 2014, 14:05)  Ну и вопрос тогда, кто мог переключить режим из Supervisor mode в User mode? Писал об этом недавно в соседней ветке (по DSP) одному товарищу.... Сталкивался с подобным давно (года 3 назад когда начинал с OMAP L137) на ARM9-ядре. И обнаружил тогда, насколько помню, что user mode включается в стартап-коде от TI. Потом в функции main(), когда необходим режим с привилегиями, переключался в него через SVC (на котором висел соответствующий сервис). Я пофиксил это поправив cstartup. Попробуйте поставить бряк до cstartup и проверьте режим.
|
|
|
|
|
Jun 26 2014, 14:17
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(jcxz @ Jun 26 2014, 16:17)  Уже немного разобрался, как сделать чтобы не произошло переключения в User Mode. Начал с анализа проекта от TI, в CMD у них прописана своя точка входа Код -e Entry переделал немного их проект под использование SHRAM (там DDR для кода используется), при остановке в начале main смотрю в каком режиме ARM и вижу System Mode, что отличается от моего. Далее нашёл в папках с их либой кто такой Entry, оказалось в их примере до выполнения main выполняется кусок асма со строчками описывающими переключение режимов. Далее идёт переключение на start_boot() из файла startap.c и только потом запускается main. Всё это у них работает с использованием уже скомпилированных библиотек, к проекту подключено два файла (всё остальное через LIB) и явно не видно, что до main ещё исполняется куча кода. После подключения их init.asm, изменения точки входа и либу одну их скомпиленную заюзал (надо будет потом выкинуть, чтоб понятно было, что и откуда берётся) всё заработало и моя проблема с записью PINMUX решилась. Цитата(jcxz @ Jun 26 2014, 16:17)  Сталкивался с подобным давно (года 3 назад когда начинал с OMAP L137) на ARM9-ядре. И обнаружил тогда, насколько помню, что user mode включается в стартап-коде от TI. Тут не совсем понимаю, каким образом что-то может подключиться к проекту (стартап-код) если у меня один файл с main и больше ничего, в настройках проекта пусто, CMD стандартный? Откуда берётся этот стартап?
|
|
|
|
Сообщений в этой теме
doom13 TI AM1808 Jun 25 2014, 08:21 SAURIS GmbH Как вариант, этому блоку, в котором находится реги... Jun 25 2014, 08:39 doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 11:39) ... Jun 25 2014, 09:04  SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 13:04) Я мог... Jun 25 2014, 09:40   doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 12:40) ... Jun 25 2014, 11:02    SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 14:59) В дат... Jun 25 2014, 11:04     doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 14:04) ... Jun 25 2014, 11:22      SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 15:22) Я то ... Jun 25 2014, 11:32       doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 14:32) ... Jun 25 2014, 11:37        SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 15:37) Я вот... Jun 25 2014, 11:42         doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 14:42) ... Jun 25 2014, 12:26          SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 16:26) Значе... Jun 25 2014, 12:39           doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 15:39) ... Jun 25 2014, 12:45            SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 16:45) , как... Jun 25 2014, 12:48             doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 15:48) ... Jun 25 2014, 13:01              SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 17:01) , т.е... Jun 25 2014, 13:05               doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 16:05) ... Jun 25 2014, 13:29           doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 15:39) ... Jun 25 2014, 12:55 Сергей Борщ Цитата(doom13 @ Jun 25 2014, 11:21) в чём... Jun 25 2014, 09:30 doom13 Цитата(Сергей Борщ @ Jun 25 2014, 12:30) ... Jun 25 2014, 09:50  Сергей Борщ Цитата(doom13 @ Jun 25 2014, 12:50) Это п... Jun 25 2014, 10:13 doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 12:40) ... Jun 25 2014, 10:46 SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 14:46) Поста... Jun 25 2014, 10:56 SAURIS GmbH Ой. Был не прав. PINMUX это же SYSCFG, а не GPIO.
... Jun 25 2014, 12:57 doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 15:57) ... Jun 25 2014, 13:39  SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 17:39) Про m... Jun 25 2014, 13:55   doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 16:55) ... Jun 25 2014, 14:02    SAURIS GmbH Цитата(doom13 @ Jun 25 2014, 18:02) Счас ... Jun 25 2014, 14:03 SAURIS GmbH Странно это. Жаль я не могу проверить это сейчас.
... Jun 25 2014, 13:36 doom13 Почитал о том, что Вы говорили. Так и есть, написа... Jun 25 2014, 17:38      jcxz Подключиться "что-то" может только вашим... Jun 26 2014, 15:15      SAURIS GmbH Цитата(doom13 @ Jun 26 2014, 18:17) Тут н... Jun 26 2014, 16:22 AndrejM Цитата(SAURIS GmbH @ Jun 26 2014, 06:15) ... Jun 26 2014, 03:46 doom13 Да, ступил немного. Просто в голове работа с С2000... Jun 26 2014, 19:12 SAURIS GmbH Есть еще один вариант. Если остальная программа, к... Jun 27 2014, 06:55 doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 09:55) ... Jun 27 2014, 07:15 SAURIS GmbH тут два варианта - пересобрать библиотеку целиком ... Jun 27 2014, 07:59 doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 10:59) ... Jun 27 2014, 09:07  SAURIS GmbH Цитата(doom13 @ Jun 27 2014, 13:07) Попро... Jun 27 2014, 10:02   doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 13:02) ... Jun 27 2014, 10:13 SAURIS GmbH Это похоже какие-то опции сборки надо поставить (н... Jun 27 2014, 10:23 doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 13:23) ... Jun 27 2014, 10:42  SAURIS GmbH Цитата(doom13 @ Jun 27 2014, 14:42) В том... Jun 27 2014, 10:43   doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 13:43) ... Jun 27 2014, 10:51    SAURIS GmbH Цитата(doom13 @ Jun 27 2014, 14:51) У мен... Jun 27 2014, 10:53     doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 13:53) ... Jun 27 2014, 12:03      SAURIS GmbH Цитата(doom13 @ Jun 27 2014, 16:03) Помог... Jun 27 2014, 12:15       doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 15:15) ... Jun 27 2014, 12:28      SAURIS GmbH Цитата(doom13 @ Jun 27 2014, 16:03) При с... Jun 27 2014, 13:13       doom13 Цитата(SAURIS GmbH @ Jun 27 2014, 16:13) ... Jun 30 2014, 06:59 SAURIS GmbH Ну видимо в пути поиска он первым стоит. Название ... Jun 27 2014, 10:51 doom13 У меня есть только c:\ti\ccsv5\tool... Jun 27 2014, 10:52 doom13 Приветствую.
Возник вопрос с прерыванием, вся иниц... Jul 12 2014, 08:34 jcxz Цитата(doom13 @ Jul 12 2014, 14:34) , где... Jul 13 2014, 05:49 doom13 А что можно сказать по поводу констант, которе заб... Jul 14 2014, 06:42 DmitryM Цитата(doom13 @ Jul 14 2014, 09:42) А что... Jul 14 2014, 07:08 doom13 Если можно поясните здесь подробнее. Что-то не мог... Jul 14 2014, 08:50 jcxz Цитата(doom13 @ Jul 14 2014, 14:50) Если ... Jul 14 2014, 09:11  DmitryM Цитата(jcxz @ Jul 14 2014, 12:11) Даже бе... Jul 14 2014, 10:12   doom13 Цитата(jcxz @ Jul 14 2014, 12:11)
Цитата... Jul 14 2014, 11:10 doom13 Приветствую.
Начинаю разбираться с работой MMC/SD ... Aug 12 2014, 14:00 doom13 Немного разобрался с работой MMC/SD контроллера, п... Aug 19 2014, 20:42 doom13 Приветствую! Помогите разобраться, куда копать... Nov 11 2014, 09:18 akos Помогите найти пример для работы с SD картой на AM... Mar 27 2015, 05:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|