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

 
 
5 страниц V  < 1 2 3 4 > »   
Reply to this topicStart new topic
> TI AM1808, разные вопросы
doom13
сообщение Jun 25 2014, 12:26
Сообщение #16


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

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


Знающий
****

Группа: Участник
Сообщений: 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:45
Сообщение #18


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

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



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

Счас посмотрим этот.
Сделал ещё такую проверку. Запускаю на выполнение скрипт из GEL с кодом
Код
#define SYS_BASE            0x01C14000
#define KICK0R              *(unsigned int*)(SYS_BASE + 0x038)  
#define KICK1R              *(unsigned int*)(SYS_BASE + 0x03c)  
#define PINMUX17            *(unsigned int*)(SYS_BASE + 0x164)  //PINMUX17

hotmenu
Setup_System_Config( )
{
    GEL_TextOut( "Setup PINMUX Registers... " );
    KICK0R = 0x83e70b13;  // Kick0 register + data (unlock)
    KICK1R = 0x95a4f1e0;  // Kick1 register + data (unlock)

    PINMUX17  = 0x22222222;  // LCDIO
  
    GEL_TextOut( "[My test is done!!!]\n" );
}

, как понимаю, в Memory Browser по адресу должен увидеть 0x22222222, но там нет изменений при выполнении скрипта?
В консоли только вижу "ARM9_0: GEL Output: Setup PINMUX Registers...ARM9_0: GEL Output: [My test is done!!!]"

Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 12:48
Сообщение #19


Знающий
****

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



Цитата(doom13 @ Jun 25 2014, 16:45) *
, как понимаю, в Memory Browser по адресу должен увидеть 0x22222222, но там нет изменений при выполнении скрипта?
В консоли только вижу "ARM9_0: GEL Output: Setup PINMUX Registers...ARM9_0: GEL Output: [My test is done!!!]"


Во первых, я там ошибся с адресом, исправил, сорри.

Во вторых - да, должны увидеть 0x22222222. Но, если это сделано до PSC1_LPSС_ENABLE для GPIO, то и не должны.


--------------------
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
Сообщение #20


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

Группа: Свой
Сообщений: 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
SAURIS GmbH
сообщение Jun 25 2014, 12:57
Сообщение #21


Знающий
****

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



Ой. Был не прав. PINMUX это же SYSCFG, а не GPIO.

Ну GPIO включен. Так что разбирайтесь, скорее всего, с memory protection, чего это он не дает туда записывать из ARM.

После выполнения скрипта, возможно надо обновить содержимое browser, он может автоматом не обновляться, и увидеть там 22222222

Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 13:00


--------------------
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, 13:01
Сообщение #22


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

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



Цитата(SAURIS GmbH @ Jun 25 2014, 15:48) *
Во вторых - да, должны увидеть 0x22222222. Но, если это сделано до PSC1_LPSС_ENABLE для GPIO, то и не должны.

При подключении к Target Configuration GEL и выполнении Target Connect, автоматом выполняется скрипт
CODE

OnTargetConnect( )
{
GEL_TextOut( "\nAM1808 ARM Startup Sequence\n\n" );

Setup_System_Config( ); // Setup Pin Mux and other system module registers
Setup_Psc_All_On( ); // Setup All Power Domains
Setup_PLL0(); // Setup PLL0 (300MHZ ARM, 300MHz DSP, 133MHz EMIFs
Setup_EMIFA(); // Async EMIF
Setup_PLL1(); // PLL for DDR Clock
DDRConfig(132); // Setup DDR

GEL_TextOut( "\nStartup Complete.\n\n" );
}

, где в теле Setup_Psc_All_On( ) прописано
CODE

hotmenu
Setup_Psc_All_On( )
{
int i;
GEL_TextOut( "Setup Power Modules (All on)... " );

// PSC0
PSC0_lPSC_enable(0, 0); // EDMA_CC0
PSC0_lPSC_enable(0, 1); // EDMA_TC0
PSC0_lPSC_enable(0, 2); // EDMA_TC1
PSC0_lPSC_enable(0, 3); // EMIFA
PSC0_lPSC_enable(0, 4); // SPI0
PSC0_lPSC_enable(0, 5); // MMCSD0
PSC0_lPSC_enable(0, 6); // ARM_AINTC
PSC0_lPSC_enable(0, 7); // ARM_RAMROM
// #8 not used
PSC0_lPSC_enable(0, 9); // UART0
PSC0_lPSC_enable(0, 10); // SCR0
PSC0_lPSC_enable(0, 11); // SCR1
PSC0_lPSC_enable(0, 12); // SCR2
// #13 not used
// PSC0_lPSC_enable(0, 14); // ARM

// PSC1
PSC1_lPSC_enable(0, 0); // EDMA_CC1
PSC1_lPSC_enable(0, 1); // USB20
PSC1_lPSC_enable(0, 2); // USB11
PSC1_lPSC_enable(0, 3); // GPIO
PSC1_lPSC_enable(0, 4); // UHPI
PSC1_lPSC_enable(0, 5); // EMAC
PSC1_lPSC_enable(0, 6); // DDR
PSC1_lPSC_enable(0, 7); // MCASP0
PSC1_LPSC_force(8);
PSC1_lPSC_enable(0, 8); // SATA

PSC1_lPSC_enable(0, 9); // VPIF
PSC1_lPSC_enable(0, 10); // SPI1
PSC1_lPSC_enable(0, 11); // I2C1
PSC1_lPSC_enable(0, 12); // UART1
PSC1_lPSC_enable(0, 13); // UART2
PSC1_lPSC_enable(0, 14); // MCBSP0
PSC1_lPSC_enable(0, 15); // MCBSP1
PSC1_lPSC_enable(0, 16); // LCDC
PSC1_lPSC_enable(0, 17); // EPWM
PSC1_lPSC_enable(0, 18); // MMCSD1
PSC1_lPSC_enable(0, 19); // UPP
PSC1_lPSC_enable(0, 20); // ECAP
PSC1_lPSC_enable(0, 21); // EDMA_TC2
// #22 & 23 not used
PSC1_lPSC_enable(0, 24); // SCR_F0
PSC1_lPSC_enable(0, 25); // SCR_F1
PSC1_lPSC_enable(0, 26); // SCR_F2
PSC1_lPSC_enable(0, 27); // SCR_F6
PSC1_lPSC_enable(0, 28); // SCR_F7
PSC1_lPSC_enable(0, 29); // SCR_F8
PSC1_lPSC_enable(0, 30); // BR_F7
PSC1_lPSC_enable(0, 3); // SHARED_RAM

GEL_TextOut( "[Done]\n" );
}

, т.е. строка PSC1_lPSC_enable(0, 3) есть в наличии, и я должен был увидеть мои 0х22222222?

Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 13:05
Сообщение #23


Знающий
****

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



Цитата(doom13 @ Jun 25 2014, 17:01) *
, т.е. строка PSC1_lPSC_enable(0, 3) есть в наличии, и я должен был увидеть мои 0х22222222?


Это не важно, я же поправился, тут речь про SYSCFG, а не GPIO. Вы должны увидеть 0x22222222, если откроете memory browser ПОСЛЕ исполнения вашего "hotmenu", или если вручную обновите в нем данные.


--------------------
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, 13:29
Сообщение #24


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

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



Цитата(SAURIS GmbH @ Jun 25 2014, 16:05) *
Это не важно, я же поправился, тут речь про SYSCFG, а не GPIO. Вы должны увидеть 0x22222222, если откроете memory browser ПОСЛЕ исполнения вашего "hotmenu", или если вручную обновите в нем данные.

Проверил для регистра PLL0_PLLCTL, этот обновляется после записи через скрипт.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 13:36
Сообщение #25


Знающий
****

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



Странно это. Жаль я не могу проверить это сейчас.

Ну тут как вариант, надо включить сначала LCDC в PSC1. А попробуйте другие PINMUX писать, например EMIF. Попробуйте туда записать 22222222 прямо через memory browser, и потом обновить его, для проверки "а записалось ли".


--------------------
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, 13:39
Сообщение #26


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

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



Цитата(SAURIS GmbH @ Jun 25 2014, 15:57) *
Ну GPIO включен. Так что разбирайтесь, скорее всего, с memory protection, чего это он не дает туда записывать из ARM.

Почитал про механизм защиты записи регистров, реализуется через регистры KICK0R-KICK1R. В скрипте прописан unlock, но не помогает, ещё нашёл, что со 2 ревизии кремния этот механизм отменён, т.е. в моём случае это никак не влияет (AM1808B). Про memory protection units (MPU1 and MPU2) понял, что один для защиты On-Chip RAM, другой - для DDR2/mDDR SDRAM, т.е. влиять на память для моего PINMUX17 не должно.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 13:55
Сообщение #27


Знающий
****

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



Цитата(doom13 @ Jun 25 2014, 17:39) *
Про memory protection units (MPU1 and MPU2) понял, что один для защиты On-Chip RAM, другой - для DDR2/mDDR SDRAM, т.е. влиять на память для моего PINMUX17 не должно.


Возможно, но в любом случае, на сколько я помню, запись в эти регистры (SYSCFG) возможна только из Priveleged mode. В общем, тут моя память закончилась (на сколько я помню, эмулятор всегда в Privileged, поэтому писать должен. Да и тот же GEL, конфигурируя, например, EMIF, свободно меняет PINMUXы). Для дальнейших полезных подсказок надо иметь на столе систему на AM1808, к сожалению сейчас таковой у меня нет.

Вдогонку... У меня были похожие глюки на AM3517, когда я случайно запустил его на сильно запредельной частоте PLL... Вряд ли, конечно, у Вас такое же. Но тем не менее...


--------------------
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, 14:02
Сообщение #28


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

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



Цитата(SAURIS GmbH @ Jun 25 2014, 16:55) *
Возможно, но в любом случае, на сколько я помню, запись в эти регистры (SYSCFG) возможна только из Priveleged mode. В общем, тут моя память закончилась (на сколько я помню, эмулятор всегда в Privileged, поэтому писать должен. Да и тот же GEL, конфигурируя, например, EMIF, свободно меняет PINMUXы). Для дальнейших полезных подсказок надо иметь на столе систему на AM1808, к сожалению сейчас таковой у меня нет.

Вдогонку... У меня были похожие глюки на AM3517, когда я случайно запустил его на сильно запредельной частоте PLL... Вряд ли, конечно, у Вас такое же. Но тем не менее...

Со скриптом разобрался, оказалось половина исполняемой функции была закоментирована (блокнотом смотрел не заметил комент, после того, как сделал свою, всё записалось и тагда только заметил).
Но из программы по-прежнему не хочет пока писать, читает, как и ранее, нормально.

Счас ещё про Priveleged mode читну.
Go to the top of the page
 
+Quote Post
SAURIS GmbH
сообщение Jun 25 2014, 14:03
Сообщение #29


Знающий
****

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



Цитата(doom13 @ Jun 25 2014, 18:02) *
Счас ещё про Priveleged mode читну.


Если правильно помню, туда через SWI вход - либо System mode, либо Supervisor. Увидеть же, какой режим сейчас, можно в PSR (биты 4:0)

Сообщение отредактировал SAURIS GmbH - Jun 25 2014, 14:05


--------------------
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, 17:38
Сообщение #30


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

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



Почитал о том, что Вы говорили. Так и есть, написано, что доступ к PINMUX только в режиме Privileged Mode. При остановке на записи в регистр PINMUX смотрю PSR[4:0], там значение 10000b - User Mode. Видимо, в этом-то и проблема. Не понятно, почему в примере от TI нет ничего, чтобы указывало на какие-то дополнительные действия, main начинается с настройки PSC, далее настройка PINMUX.
Go to the top of the page
 
+Quote Post

5 страниц V  < 1 2 3 4 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 19:59
Рейтинг@Mail.ru


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