|
Stm32f7 stack pointer, Медленная работа езернета при нестандартной разметке памяти |
|
|
|
Jul 17 2018, 12:43
|
Гуру
     
Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454

|
Всем привет.
Столкнулся с очень непонятной штукой. GCC под Stm32F767, оптимизация О2, никакой линкер оптимизации.
Разметка памяти: RAM = 0x20000000, size 0x80000, data и bss - лежит с начала RAM stack poitner задается на 0x20080000
тут все работает прекрасно, если сделать RAM = 0x20000000, size 0x80000, data и bss - лежит с 0x20010000 stack poitner задается на 0x20010000
тоже все работает хорошо, но если сделать RAM = 0x20010000, size 0x70000, data и bss - лежит с 0x20010000 (с начала RAM) stack poitner задается на 0x20010000
то никаких падений нет, но начинаются проблемы в обмене по езернету. Пакеты застревают, причем не теряются, они все есть, но почему то временами не отправляются. То есть приходит UDP запрос, ответа нет, а со следующим запросом приходит ответ на этот и на предыдущий.
При этом в разметке RAM = 0x20000000, size 0x20000, data и bss - лежит с начала RAM stack poitner задается на 0x20080000 тоже есть проблемы, но значительно реже проявляющиеся.
размеры областей роли особой не играют, то есть никаких невлезаний в область памяти нет. Из вещей мной неуправляемых это кусок работы с езернетом забранный из куба. Есть у кого какие-то идеи как может разметка памяти так драматически влиять?
|
|
|
|
|
 |
Ответов
|
Jul 19 2018, 07:55
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(Arlleex @ Jul 19 2018, 08:48)  Смеетесь что ли. У процессоров Intel x86 в защищённом режиме можно настроить дескрипторы так, чтобы из региона, где выполняется код чтение данных было запрещено. На то он дескриптор кода. У STM32F7 также, не?
Сообщение отредактировал __inline__ - Jul 19 2018, 07:56
|
|
|
|
|
Jul 19 2018, 07:58
|

Местный
  
Группа: Участник
Сообщений: 492
Регистрация: 12-11-11
Пользователь №: 68 264

|
Цитата(__inline__ @ Jul 19 2018, 11:55)  У процессоров Intel x86 в защищённом режиме можно настроить дескрипторы так, чтобы из региона, где выполняется код чтение данных было запрещено. На то он дескриптор кода.
У STM32F7 также, не? Пардон, я не заметил, что Вы предложили эту область кода сделать только для кода.
|
|
|
|
Сообщений в этой теме
Golikov A. Stm32f7 stack pointer Jul 17 2018, 12:43 scifi Цитата(Golikov A. @ Jul 17 2018, 15:43) Е... Jul 17 2018, 12:58 Golikov A. там где? все еще хуже :
разметка
SP: 0x20010000
... Jul 17 2018, 13:34 Arlleex Цитата(Golikov A. @ Jul 17 2018, 17:34) К... Jul 17 2018, 14:22 AVR Цитата(Golikov A. @ Jul 17 2018, 16:34) К... Jul 17 2018, 14:24 Golikov A. кеши выключены
уезжал в РАМ всей программой никак... Jul 17 2018, 14:26 0men Цитата(Golikov A. @ Jul 17 2018, 17:26) Т... Jul 17 2018, 14:48 jcxz Цитата(Golikov A. @ Jul 17 2018, 15:43) р... Jul 18 2018, 09:09 scifi Цитата(jcxz @ Jul 18 2018, 12:09) Всё три... Jul 18 2018, 09:17 Golikov A. Цитата(jcxz @ Jul 18 2018, 12:09) Всё три... Jul 18 2018, 18:14  jcxz Цитата(Golikov A. @ Jul 18 2018, 21:14) К... Jul 18 2018, 19:15 scifi Объясняет или не объясняет. Прилетит вдруг волшебн... Jul 18 2018, 18:34 Golikov A. О да, кстати. Научите использовать мпу для этой за... Jul 19 2018, 04:49 jcxz Цитата(Golikov A. @ Jul 19 2018, 07:49) О... Jul 19 2018, 07:20   jcxz Цитата(__inline__ @ Jul 19 2018, 10:55) У... Jul 19 2018, 08:01 jcxz Цитата(__inline__ @ Jul 19 2018, 10:32) M... Jul 19 2018, 07:56 AVR А еще есть "якобы бесполезная" штука. На... Jul 19 2018, 07:38 Arlleex Ради быстрого эксперимента забил бы ОЗУ по включен... Jul 19 2018, 08:07 jcxz Цитата(Arlleex @ Jul 19 2018, 11:07) Ради... Jul 19 2018, 08:13 Golikov A. Воу воу воу!! Парни остановитесь
Я только ... Jul 19 2018, 11:17
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|