|
spi и usb на stm32 |
|
|
|
Sep 27 2013, 09:35
|
Частый гость
 
Группа: Свой
Сообщений: 80
Регистрация: 8-12-12
Из: Б.М.
Пользователь №: 74 760

|
Цитата(Tapochka @ Sep 27 2013, 11:45)  нашел как увеличить стек http://www.coocox.org/forum/topic.php?id=917однако не могу найти файл arm-gcc-link.ld, где он находится хоть примерно? у меня тут C:\CooCox\CoIDE\configuration\ProgramData\myUSB может у Вас так же. Если получится отпишитесь.
Сообщение отредактировал BvDV - Sep 27 2013, 09:36
|
|
|
|
|
Sep 27 2013, 11:09
|
Участник

Группа: Участник
Сообщений: 21
Регистрация: 26-02-13
Пользователь №: 75 799

|
дебагер работает, как ни странно Цитата у меня тут C:\CooCox\CoIDE\configuration\ProgramData\myUSB может у Вас так же. Если получится отпишитесь. спасибо за подсказку, примерно там же был и у меня, однако по вышеприведенной ссылке добавил кусок кода и это ничего не дало(
Сообщение отредактировал Tapochka - Sep 27 2013, 11:09
|
|
|
|
|
Sep 27 2013, 15:31
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 28-06-10
Пользователь №: 58 174

|
размер стека в кококсе находится в файле cmsis_boot/startup/startup_stm32f10x_md.c Код /*----------Stack Configuration-----------------------------------------------*/ #define STACK_SIZE 0x0000500 /*!< The Stack size suggest using even number */ __attribute__ ((section(".co_stack"))) unsigned long pulStack[STACK_SIZE]; У меня usb отваливалось когда в определенном месте я проводил чтение по spi из флешки. Причем чтение из флешки из другого места программы к таким результатам не приводил. По-моему стека не хватает когда подряд вызываются много функций одна в другой, в стек пишется соответствующая инфа по каждой функции плюс прерывания заполняют стек. в итоге проц вываливается. Возможно я ошибаюсь.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|