реклама на сайте
подробности

 
 
> TI AM1808, разные вопросы
doom13
сообщение Jun 25 2014, 08:21
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 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;
}

Если указатель на обычный кусок памяти - всё гуд.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
SAURIS GmbH
сообщение Jun 25 2014, 08:39
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 09:04
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SAURIS GmbH @ Jun 25 2014, 11:39) *
Как вариант, этому блоку, в котором находится регистр, не включен клок, или он не выведен из состояния резета (по аналогии с другими АРМ-ами TI)

Я могу записать данные по этому адресу через Memory Browser и прочитать. Могу сделать вывод, что клок есть и из ресета выведен!?
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 09:40
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 11:02
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 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, которые и разрешают запись защищённых регистров. Но ведь здесь такого нет?!
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 11:04
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 11:22
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 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.

Об этом я пока ничего не знаю, надо читать.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 11:32
Сообщение #8


Знающий
****

Группа: Участник
Сообщений: 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 11:37
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 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.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 11:42
Сообщение #10


Знающий
****

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



Цитата(doom13 @ Jun 25 2014, 15:37) *
Я вот на это смотрел (рисунок),


Вот именно на этом рисунке и написано, что его состояние по умолчанию - SwRstDisable, что значит, что он без клока и в резете. Ну да, питание ему выключить нельзя... Но что это меняет, если ему обрублено все остальное sm.gif sm.gif

Эмулятором считайте регистр 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 12:26
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SAURIS GmbH @ Jun 25 2014, 14:42) *
Вот именно на этом рисунке и написано, что его состояние по умолчанию - SwRstDisable, что значит, что он без клока и в резете. Ну да, питание ему выключить нельзя... Но что это меняет, если ему обрублено все остальное sm.gif sm.gif

Эмулятором считайте регистр 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

    ......
}

Значения регистров прилагаю, они?

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 12:39
Сообщение #12


Знающий
****

Группа: Участник
Сообщений: 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.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 25 2014, 12:55
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(SAURIS GmbH @ Jun 25 2014, 15:39) *
Не, не совсем они. Нужного MDSTAT тут нет. Его адрес 01E2780Ch

Но это что-то очень близкое по значению, вот то, что по адресам лежит

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 08:46
Рейтинг@Mail.ru


Страница сгенерированна за 0.01589 секунд с 7
ELECTRONIX ©2004-2016