Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Разрешение FSMC - падение debug
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Eminem
Коллеги.
С чем может быть связано отваливание отладчика ST-Link после выполнения таккого оператора
Код
RCC->AHB3ENR |= (RCC_AHB3ENR_FMCEN)

После нее сразу пишется: нет доступа к процу, сессия закончена.
Камень STM32F439IIT6
На FSMC SDRAM MT48LC32M8A2: 8Mb x 4bank x 8bit
???
Eminem
Проблема осталась.
Похоже никто с таким не сталкивался...
На голой плате где распаян один только проц с обвязкой емкостей наблюдается тоже самое.
В общем - не знаю что делать.

adnega
Попробуйте в режиме дизассемблера пошагать. На какой инструкции валится?
Eminem
Цитата(adnega @ Apr 18 2014, 12:49) *
Попробуйте в режиме дизассемблера пошагать. На какой инструкции валится?


Ага. Сейчас попробую...
Eminem
Код
    59:       __FMC_CLK_ENABLE();
    60:      
    61:   /* USER CODE BEGIN 1 */
    62:  
    63:   /* USER CODE END 1 */
    64:  
    65:   /* MCU Configuration----------------------------------------------------------*/
    66:  
    67:   /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
0x08000A18 4814      LDR           r0,[pc,#80]; @0x08000A6C
0x08000A1A 6800      LDR           r0,[r0,#0x00]
0x08000A1C F0400001  ORR           r0,r0,#0x01
0x08000A20 4912      LDR           r1,[pc,#72]; @0x08000A6C
0x08000A22 6008      STR           r0,[r1,#0x00]
    68:   HAL_Init();
    69:  
    70:   /* Configure the system clock */
    71:   //SystemClock_Config();
    72:  
    73:   /* Initialize all configured peripherals */
0x08000A24 F7FFFE20  BL.W          HAL_Init (0x08000668)
    74:   MX_GPIO_Init();
0x08000A28 F7FFFF48  BL.W          MX_GPIO_Init (0x080008BC)
    75:   MX_FMC_Init();


После этой: 0x08000A22 6008 STR r0,[r1,#0x00]

Все загадочно однако, дело в том что отваливается отладчик и после проц в стопе, если перезапустить без отладчика - процессор работает нормально, правда пока не знаю - нормально ли он видит SDRAM.
Мне реально нужен отладчик, какой в нем толк, если он отваливается после подключки FSMC.

HELP! Нужны идеи, хоть самые бредовые.
KnightIgor
Цитата(Eminem @ Apr 18 2014, 18:48) *
HELP! Нужны идеи, хоть самые бредовые.

Самая главная идея (не бредовая) была высказана одним моим доцентом: вся дрянь от источников питания!

Первая бредовая идея: включается тактирование FSMC, скачкообразно возрастает потребление, и это каким-то образом обваливает все питание, пусть даже на короткое время. Вы там об обвязке питания говорили. Все по фен-шую?
Вторая идея: как там выглядит ножка NRST? - стОит напаять 0.1uF от него на землю. Так же гляньте на PDR_ON - это, вроде, нога мониторинга питания. Если она там в воздухе витает...
Третья идея: касается ноги NJTRST - сброс JTAG. Вроде процессор ее куда-то там подтягивает, но хорошо бы закрепить это его начинание внешним резистором эдак в 5K1 на тот же потенциал.
_Pasha
Цитата(KnightIgor @ Apr 18 2014, 21:46) *
Первая бредовая идея: включается тактирование FSMC, скачкообразно возрастает потребление, и это каким-то образом обваливает все питание, пусть даже на короткое время.

Включать сабж до PLL?
hd44780
Христос воскресе!

А какой-нибудь FSMC-шный дисплей там есть?
Я буквально вчера запустил SSD1963 на таком же проце, как у Вас.
SDRAM (MT48LC16M16A2) у меня есть, но она пока блокирована джампером на ноге CKE.

Один товарищ с другого форума дал мне пример инициализацию для F429 (по-моему, для 429Discovery), он к ней SSD1963 прикручивал, убрав родной RGB дисплей, там у него RCC включается в настройке для дисплея, а в инициализации SDRAM он RCC вообще не трогает.
Может в этом что-то есть.. Сам с SDRAM пока не работал.

Если хотите, дам его код.

В какой среде работаете?
Я - в IAR, тип проца задал F437I, чем он отличается от F439I, не знаю biggrin.gif , но макросами для библиотек задал STM32F429_439xx.
Eminem
Коллеги, я кажется разобрался в чем дело. Через пару часов я постараюсь все объяснить.


С праздником.
У Вас точно такой же проц как у меня? - 439IIT6 (176 ног ревизия Y)
Я работаю в Keil 5. Дисплей RGB на модуле TFT, я его пока не включал - ни модуль, ни сам дисплей. У нас похожая память, разница в ее организации - сейчас мне надо подключить ее, потом займусь дисплеем.
Какая у вас операционка и отладчик?
Может быть сможем кое-что проверить...
hd44780
Да, проц такой же. Абсолютно.
Отладчик/программатор - F4Discovery. Но с кейлом я так и не подружился sad.gif . То на отладчик ругается, но алгоритма какого-то ему не хватает ..
Фигня какая-то. Иар с полпинка заработал, хоть и тип проца другой задан. Кейл в итоге я забросил...

Про операционку не понял. На компе - Win7 Pro x64. На проце - никакой нету.
Я только 2 или 3 дня как начал им заниматься. Пока только и сделал - светодиодики, Systick и дисплей этот. Всё почти один к одному перенесено с F407.
Eminem
Уважаемые, те кто обладает 429 или 439 камнем, не могли бы Вы провести тупой тест.
В любом проекте разрешить тактирование FMC:
RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FMC, ENABLE); //или так: RCC->AHB3ENR |= (RCC_AHB3ENR_FMCEN);
Запустить отладчик;
Открыть просмотр памяти с адресса 0xC0000000 (или 0xD0000000).
И пошагать отладчиком.


Цитата(hd44780 @ Apr 20 2014, 11:38) *
Да, проц такой же. Абсолютно.
Отладчик/программатор - F4Discovery. Но с кейлом я так и не подружился sad.gif . То на отладчик ругается, но алгоритма какого-то ему не хватает ..
Фигня какая-то. Иар с полпинка заработал, хоть и тип проца другой задан. Кейл в итоге я забросил...


Отлично. В Яре наверняка есть тоже просмотр памяти. Может Вам не трудно проделать тест выше.

Цитата
Про операционку не понял. На компе - Win7 Pro x64. На проце - никакой нету.
Я только 2 или 3 дня как начал им заниматься. Пока только и сделал - светодиодики, Systick и дисплей этот. Всё почти один к одному перенесено с F407.


Да, я про операционку на компе, у меня таже ОС. Просто мне казалось что проблема может быть с ней связана, но в виртулке и на другой физ. машине те же проблемы. Возможно это Keil 5 так работает. А может StLink у меня так тупит.

hd44780
Цитата(Eminem @ Apr 20 2014, 21:43) *
RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_FMC, ENABLE); //или так: RCC->AHB3ENR |= (RCC_AHB3ENR_FMCEN);
Запустить отладчик;
Открыть просмотр памяти с адресса 0xC0000000 (или 0xD0000000).
И пошагать отладчиком.[/color]


Проверил. Работает всё ..
Единственное что заметил - вначале были нули, после инициализации FMC под дисплей (NAND16), там стали чёрточки (прочерки).
Возможно потому, что эти адреса недоступны, но вылетов и падений никаких...
Eminem
Цитата(hd44780 @ Apr 21 2014, 16:09) *
Проверил. Работает всё ..
Единственное что заметил - вначале были нули, после инициализации FMC под дисплей (NAND16), там стали чёрточки (прочерки).
Возможно потому, что эти адреса недоступны, но вылетов и падений никаких...


Спасибо, сеячас поставлю Яр - попробую в нем работать.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.