Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: EWARM 5.10 ругается
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
nameless
Заказываю RAM_debug, загружаю и в логе вижу:

Thu Sep 13 14:41:47 2007: Changing mapping: RAM mapped to 0
Thu Sep 13 14:41:50 2007: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'SVC_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'IRQ_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'FIQ_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'UND_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'ABT_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'CSTACK' (currently 0x002003F8) is outside the stack range (0x00001878 to 0x00001C78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'SVC_STACK' (currently 0x00200500) is outside the stack range (0x00001C78 to 0x00001D78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'IRQ_STACK' (currently 0x00200600) is outside the stack range (0x00001D78 to 0x00001E78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'FIQ_STACK' (currently 0x00200640) is outside the stack range (0x00001E78 to 0x00001EB8)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'UND_STACK' (currently 0x00200680) is outside the stack range (0x00001EB8 to 0x00001EF8)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'ABT_STACK' (currently 0x002006C0) is outside the stack range (0x00001EF8 to 0x00001F38)


где это исправлять?
alexander55
Цитата(nameless @ Sep 13 2007, 11:47) *
Заказываю RAM_debug, загружаю и в логе вижу:

Thu Sep 13 14:41:47 2007: Changing mapping: RAM mapped to 0
Thu Sep 13 14:41:50 2007: The stack 'CSTACK' is filled to 100% (1024 bytes used out of 1024). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'SVC_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'IRQ_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'FIQ_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'UND_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack 'ABT_STACK' is filled to 100% (64 bytes used out of 64). The warning threshold is set to 90.%
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'CSTACK' (currently 0x002003F8) is outside the stack range (0x00001878 to 0x00001C78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'SVC_STACK' (currently 0x00200500) is outside the stack range (0x00001C78 to 0x00001D78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'IRQ_STACK' (currently 0x00200600) is outside the stack range (0x00001D78 to 0x00001E78)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'FIQ_STACK' (currently 0x00200640) is outside the stack range (0x00001E78 to 0x00001EB8)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'UND_STACK' (currently 0x00200680) is outside the stack range (0x00001EB8 to 0x00001EF8)
Thu Sep 13 14:41:50 2007: The stack pointer for stack 'ABT_STACK' (currently 0x002006C0) is outside the stack range (0x00001EF8 to 0x00001F38)
где это исправлять?

У Вас Указатели стеков не туда глядят.
Вариантов несколько.
1. Подключить необходимый icf файл.
2. Project->Option->Linker->Config. Linker Configuration File. Edit. и.т.д.
nameless
Спасибо. Разобрался. Несмотря на подключенный родной xx_RAM.icf и заказанными неимоверными стеками (больше кода) линкер реагировал на дефайны в коде (!!!) то есть если я использую для своих нужд:

#define INT_SARM 0x200000 // от старого проекта осталось

то линкер именно туда и определял.....
nameless
Рано я отрапортовался. Код разбух и снова указанные стеки переполнены. Даже неимоверных размеров стеки в .icf не помогают. Про outside промахи не ругается. Просто превышен freshhold. Уже перешел на Flash_debug, но как-то осадок-то остался. Мож кто сталкивался?
alexander55
Цитата(nameless @ Sep 21 2007, 08:08) *
Рано я отрапортовался. Код разбух и снова указанные стеки переполнены. Даже неимоверных размеров стеки в .icf не помогают. Про outside промахи не ругается. Просто превышен freshhold. Уже перешел на Flash_debug, но как-то осадок-то остался. Мож кто сталкивался?

Внимательно анализируйте map. Где-то надо умерить свои желания и аппетиты.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.