SciFi (01.02.2012 11:09, просмотров: 138) ответил vesago на Кто использует IAR 6.30? Знакомлюсь с STM32. Мутно как-то проект конфигурируется. CMSIS в яре этом встроенный. Поэтому внешний не принимает. Даже если галочка в настройках проекта CMSIS снята. Ну это не проблема - можно встроенный пользовать. А
Для стартапа я взял файл \arm\src\lib\thumb\cstartup_M.c и включил в свой проект. Он нужен только для добавления своих векторов прерываний. Я его несколько урезал, убрав лишнее: #pragma segment = "CSTACK"
union intvec_elem
{
void (*fptr)(void);
void *ptr;
};
extern void __iar_program_start( void );
extern void USART3_IRQHandler(void);
static void
trap(void)
{
for (;;)
{
/* it's a trap! */
}
}
/*
* The name "__vector_table" has special meaning for C-SPY:
* it is where the SP start value is found, and the NVIC vector
* table register (VTOR) is initialized to this address if != 0.
*/
#pragma location = ".intvec"
__root const union intvec_elem __vector_table[] =
{
{ .ptr = __sfe("CSTACK") },
__iar_program_start,
trap, /* NMI */
trap, /* HardFault */
trap, /* MemManage */
trap, /* BusFault */
trap, /* UsageFault */
0,
0,
0,
0,
trap, /* SVC */
trap, /* DebugMon */
0,
trap, /* PendSV */
trap, /* SysTick */
[16 + 39] = USART3_IRQHandler
};
ส็็็็็็็็็็็็็็็็็็็็็็็็็༼ ຈل͜ຈ༽ส้้้้้้้้้้้้้้้้้้้้้้้