Перейти к содержанию
    

Проблема при старте отладки в Keil

 Добрый вечер.

Есть проект под Keil, для STM32H743BIT6 (2 Mb Flash, 1Mb RAM). Недавно проект сильно разжирел - я импортировал в него блок кода TouchGFX, который раньше нормально, без проблем грузился в STM32F746BGT6

Проект компилируется,флешь шьется, а дальше, примерно здесь

MeBSQVmu.png?download=1&name=%D0%A1%D0%B

 

Вылазит ошибка

pJLksfAv.png?download=1&name=%D0%A1%D0%B

 

После чего контроллер ресетится и работает без проблем.  Беда только в том, что отлаживать не могу, не коннектится отладчик 

 

Проблема исчезает если в sct файле закомментировать  ExtFlashSection и FontFlashSection

 

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08000000 0x00100000  {    ; load region size_region
  ER_IROM1 0x08000000 0x00100000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00050000  {  ; RW data
   .ANY (+RW +ZI)
  }
}

 LR_EROM1 0x90000000 0x2000000  {    ; load region size_region
 ER_EROM1 0x90000000 0x2000000  {  ; load address = execution address
*.o (ExtFlashSection)
 ;*.o (TextFlashSection)
*.o (FontFlashSection)
  }
}

	
	    

Но, сами понимаете, пойти на это нельзя, без QSPI я не могу.

 

Может тут проблема?

X42zgAST.png?download=1&name=%D0%A1%D0%B

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Xtal (MHz) 240.0 ( \-8Ж )- внешнее тактирование (кварц? генератор???)
Ну и как обычно: в коде отрубается JTAG (проц-то пин-в-пин?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 minutes ago, Obam said:

Xtal (MHz) 240.0 ( \-8Ж )- внешнее тактирование (кварц? генератор???)

Кварц 8 Мгц.

В проекте под STM32F746 там 200 стоит (куб так вписал), но это не мешает ничему. 

Но все же - поставил 8 Мгц - не помогло.

33 minutes ago, Obam said:

Ну и как обычно: в коде отрубается JTAG (проц-то пин-в-пин?)

Ничего не отрубается.

Loading object code - это что-то грузится в оперативную память, так я понимаю?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не может так быть, что по какой-то причине отладчик пытается что-то прочесть непосредственно по адресу 0х90000000, при старте, когда qspi ещё не инициализирована и не включена в режим memory mapped? 

Каковы могут быть причины этого, почему на это влияет внесение изменений в sct файл?  Я смотрел в мар файл, вроде бы по адресу 0х90000000 только данные, никаких функций нет.... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну если 240МГц не влияют, тогда как память из qSPI проходит по категории "on-chip" да ещё и "по дефолту"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, Obam said:

Ну если 240МГц не влияют, тогда как память из qSPI проходит по категории "on-chip" да ещё и "по дефолту"?

Как бы там ни было, это генерирует КУБ, и в случае с 746 камнем это прокатывало. 

 

Я не нашёл информацию, может кто подскажет - "loading object code" - что это за процесс, что откуда и куда грузится, и где прописывается адрес "откуда" и адрес "куда"? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, MementoMori сказал:

Я не нашёл информацию, может кто подскажет - "loading object code" - что это за процесс, что откуда и куда грузится, и где прописывается адрес "откуда" и адрес "куда"? 

Что-то у вас с отладчиком, может быть ST-Link драйвер устарел или прошивка отладчика или сам Keil?

 

А "loading object code" поискать в хэлпе Keil пробовали?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

32 minutes ago, HardEgor said:

Что-то у вас с отладчиком, может быть ST-Link драйвер устарел

Как вариант - обновил) получив новые баги. У меня китайский свисток.  

Спасибо за идею - есть у меня discovery, думаю, что смонтированный на нем STLINK  лучше китайского? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не.... подключился через дискавери, обновил его прошивку, драйвер ST-Link, как оказалось, у меня последний. Бестолку.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я убираю галку "load application at startup", то контроллер стартует, но я не могу ставить брейкпоинты, переменные в окне watch не читаются, доступа к памяти нет....

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 минуты назад, MementoMori сказал:

Если я убираю галку "load application at startup", то контроллер стартует, но я не могу ставить брейкпоинты, переменные в окне watch не читаются, доступа к памяти нет....

Так он наверное просто не умеет отлаживать программу в QSPI памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Just now, HardEgor said:

Так он наверное просто не умеет отлаживать программу в QSPI памяти.

А почему тогда в проекте на F746 контроллере АНАЛОГИЧНЫЕ настройки не вызывают этой проблемы?

 

Если я закомментирую в SCT файле ExtFlashSection, то такой проблемы не возникает. Но при одном условии - что все, что я хотел разместить  в qspi, влазит во внутреннюю флеш. А если у меня информации 10 мегабайт, то проект просто не линкуется. По понятным причинам.

Так вот в 764 проце - как я делал - писал

 LR_EROM1 0x90000000 0x2000000  {    ; load region size_region
 ER_EROM1 0x90000000 0x2000000  {  ; load address = execution address
*.o (ExtFlashSection)
 ;*.o (TextFlashSection)
*.o (FontFlashSection)
  }
}

добавлял алгоритм прошивки qspi - прошивал.

Затем убирал из настроек алгоритм, чтобы не шить qspi каждый раз. IDE мне сообщала об отсутствии алгоритма, пропускала эту секцию, прошивала контроллер и спокойно его запускала. 

Что не так с H743?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, MementoMori сказал:

А почему тогда в проекте на F746 контроллере АНАЛОГИЧНЫЕ настройки не вызывают этой проблемы?

Не знаю, вон пишет Partial Programming, может отладочную информацию не смог загрузить?

Так-то, прежде чем гадать и "менять бл$дей", вначале стоит разобраться что за ошибки он пишет и какие он них могут быть последствия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 minutes ago, HardEgor said:

Не знаю, вон пишет Partial Programming, может отладочную информацию не смог загрузить?

Это он пишет потому что в sct файле есть информация о размещении данных в qspi, а алгоритм прошивки для неё не указан. Вот он и прошивается только внутреннюю флеш, а на qspi, ранее прошитое, не тратит времени. Так надо. И это правильно. Это не ощибка

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как бы там ни было, это генерирует КУБ, и в случае с 746 камнем это прокатывало.


Да уж, КУБ - это аргумент, "мощнее" только ЗВЁЗДЧАТЫЙ РОМБОДОДЭКАЭДР ((-8Ж

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...