|
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, 08:39
|

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

|
Как вариант, этому блоку, в котором находится регистр, не включен клок, или он не выведен из состояния резета (по аналогии с другими АРМ-ами TI)
--------------------
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 25 2014, 09:40
|

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

|
Цитата(doom13 @ Jun 25 2014, 13:04)  Я могу записать данные по этому адресу через Memory Browser и прочитать. Могу сделать вывод, что клок есть и из ресета выведен!? Именно в тот момент, когда "этот код не работает" ? То есть, поставив туда точку останова, и после ее срабатывания? Еще попробуйте убрать в скобки "PINMUX_REG_ADDR" - может быть он объявлен как арифметика без скобок в дефайне, и тогда результат от (unsigned int*) может быть непредсказуем. 2 Сергей Борщ - Ну раз "Если указатель на обычный кусок памяти - всё гуд" - то, вроде, volatile тут не причем. Да и не должен оптимизатор такое выкидывать, когда работа через указатель, объявленный глобально.
Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 09:42
--------------------
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 25 2014, 11:02
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SAURIS GmbH @ Jun 25 2014, 12:40)  Там есть такая штука, как PSC Module, может ли в ней быть проблема? В даташите написано, что касательно GPIO - Always ON, может ли что-либо быть в PSC отключено для GPIO? Цитата(SAURIS GmbH @ Jun 25 2014, 13:56)  Возможно, что-то с механизмами защиты памяти. Уровни доступа через эмулятор и у пользовательского кода - это, как говорится, две большие разницы. Да, вот для c2000 и с6000 от TI были такие штуки как EALLOW и EDIS, которые и разрешают запись защищённых регистров. Но ведь здесь такого нет?!
|
|
|
|
|
Jun 25 2014, 11:04
|

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

|
Цитата(doom13 @ Jun 25 2014, 14:59)  В даташите написано, что касательно GPIO - Always ON, может ли что-либо быть в PSC отключено для GPIO? Ну Вы сами же это опровергли, когда я предполагал, что что-то не выведено из резета или обесклочено. Тогда бы и через эмулятор не писалось (хотя, возможно, вопрос еще в GEL, что при запуске под эмуляцией он что-то там сам проинициализировал, а без эмуляции - нет) Цитата(doom13 @ Jun 25 2014, 15:02)  Но ведь здесь такого нет?! Зато тут есть куда круче. Memory Protection Unit (MPU), режимы исполнения Supervisor и User, и в самом ARM еще есть MMU.
--------------------
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 25 2014, 11:22
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SAURIS GmbH @ Jun 25 2014, 14:04)  Ну Вы сами же это опровергли, когда я предполагал, что что-то не выведено из резета или обесклочено. Тогда бы и через эмулятор не писалось (хотя, возможно, вопрос еще в GEL, что при запуске под эмуляцией он что-то там сам проинициализировал, а без эмуляции - нет) Я то может и опроверг, но процессор для меня новый и могу ошибаться. В примере из StarterWare на AM1808 для GPIO в самом начале идёт Код /* The Local PSC number for GPIO is 3. GPIO belongs to PSC1 module.*/ PSCModuleControl(SOC_PSC_1_REGS, HW_PSC_GPIO, PSC_POWERDOMAIN_ALWAYS_ON, PSC_MDCTL_NEXT_ENABLE); , это и смущает, может ли PSC как-то влиять? Если в даташите написано Always ON зачем тогда эта функция? Цитата(SAURIS GmbH @ Jun 25 2014, 14:04)  Зато тут есть куда круче. Memory Protection Unit (MPU), режимы исполнения Supervisor и User, и в самом ARM еще есть MMU. Об этом я пока ничего не знаю, надо читать.
|
|
|
|
|
Jun 25 2014, 11:32
|

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

|
Цитата(doom13 @ Jun 25 2014, 15:22)  Я то может и опроверг, но процессор для меня новый и могу ошибаться. В примере из StarterWare на AM1808 для GPIO в самом начале идёт ну вообще документация говорит вот что: 20.2.9 Initialization The following steps are required to configure the GPIO module after a hardware reset: 1. Perform the necessary device pin multiplexing setup (see your device-specific data manual). 2. Program the Power and Sleep Controller (PSC) to enable the GPIO module. For details on the PSC, see the Power and Sleep Controller (PSC) chapter.
А где сказано, что он "Always ON" ? Я вижу в разделе про PSC, что у него состояние по умолчанию "SwRstDisable" а не "Enable" Но, еще раз, раз эмулятор пишет в этот регистр, то это говорит, что он все же включен. Ну, либо, это какие-то глюки каких-то кешей, что эмулятор якобы пишет, но только якобы. Как перевести его в Enable читайте в "8.3.2 Module State Transitions" - там надо задать Enable в его MDCTLn и потом дать "GO" в PTCMD
Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 11:40
--------------------
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 25 2014, 11:37
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SAURIS GmbH @ Jun 25 2014, 14:32)  ну вообще документация говорит вот что:
20.2.9 Initialization The following steps are required to configure the GPIO module after a hardware reset: 1. Perform the necessary device pin multiplexing setup (see your device-specific data manual). 2. Program the Power and Sleep Controller (PSC) to enable the GPIO module. For details on the PSC, see the Power and Sleep Controller (PSC) chapter.
А где сказано, что он "Always ON" ? Я вижу в разделе про PSC, что у него состояние по умолчанию "SwRstDisable" а не "Enable" Но, еще раз, раз эмулятор пишет в этот регистр, то это говорит, что он все же включен. Ну, либо, это какие-то глюки каких-то кешей, что эмулятор якобы пишет, но только якобы. Я вот на это смотрел (рисунок), счас попробую найти то, о чём Вы пишете. Регистр, который записать не могу, и отвечает за pin multiplexing.
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 25 2014, 11:42
|

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

|
Цитата(doom13 @ Jun 25 2014, 15:37)  Я вот на это смотрел (рисунок), Вот именно на этом рисунке и написано, что его состояние по умолчанию - SwRstDisable, что значит, что он без клока и в резете. Ну да, питание ему выключить нельзя... Но что это меняет, если ему обрублено все остальное  Эмулятором считайте регистр MDSTAT19 MDSTAT3 в PSC1 - будет видно, в каком состоянии GPIO UPD: По идее, его мог включить (если он включен) начальный загрузчик, который в ROM, если ему надо что-то делать через GPIO. UPD2: Его включает GEL файл, вызовом "PSC1_LPSC_enable(0, LPSC_GPIO);" - так что при запуске из-под эмулятора, если GEL подцеплен, то GPIO включен (и вообще, он там все что ни попадя включает).
Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 12:07
--------------------
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 25 2014, 12:26
|
Профессионал
    
Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539

|
Цитата(SAURIS GmbH @ Jun 25 2014, 14:42)  Вот именно на этом рисунке и написано, что его состояние по умолчанию - SwRstDisable, что значит, что он без клока и в резете. Ну да, питание ему выключить нельзя... Но что это меняет, если ему обрублено все остальное  Эмулятором считайте регистр MDSTAT19 MDSTAT3 в PSC1 - будет видно, в каком состоянии GPIO UPD: По идее, его мог включить (если он включен) начальный загрузчик, который в ROM, если ему надо что-то делать через GPIO. UPD2: Его включает GEL файл, вызовом "PSC1_LPSC_enable(0, LPSC_GPIO);" - так что при запуске из-под эмулятора, если GEL подцеплен, то GPIO включен (и вообще, он там все что ни попадя включает). Вызываю скрипт из GEL, что должно всё включить, но эффекта не наблюдаю. Код hotmenu Setup_Psc_All_On( ) { .......
PSC1_lPSC_enable(0, 3); // GPIO
...... } Значения регистров прилагаю, они?
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 25 2014, 12:39
|

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

|
Цитата(doom13 @ Jun 25 2014, 16:26)  Значения регистров прилагаю, они? Не, не совсем они. Нужного MDSTAT тут нет. Его адрес 01E2780Ch ( MDSTAT0 - 01E27800h ) ( MDSTAT1 - 01E27804h ) ( MDSTAT2 - 01E27808h ) ( MDSTAT3 - 01E2780Ch ) ( MDSTAT4 - 01E27810h ) ....
Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 12:44
--------------------
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.
|
|
|
|
Сообщений в этой теме
doom13 TI AM1808 Jun 25 2014, 08:21           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 @ 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 SAURIS GmbH Тут другой вопрос скорее... Кто и зачем включил эт... Jun 25 2014, 17:48 doom13 Цитата(SAURIS GmbH @ Jun 25 2014, 20:48) ... Jun 25 2014, 20:00  SAURIS GmbH Цитата(doom13 @ Jun 26 2014, 00:00) Макси... Jun 26 2014, 03:15   doom13 Цитата(SAURIS GmbH @ Jun 26 2014, 06:15) ... Jun 26 2014, 08:05    jcxz Цитата(doom13 @ Jun 26 2014, 14:05) Ну и ... Jun 26 2014, 13:17     doom13 Цитата(jcxz @ Jun 26 2014, 16:17)
Уже не... Jun 26 2014, 14:17      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
|
|
|