I have currently upgrade my IAR from v4.40 to v5.10. I was able to run the Web sever demo with STR912x before with v4.40. After the upgrade, I was able to compile the code, but not being able to make it run. I have modified the linker file and several other assembly files, but still have no luck. Just wonder whether anyone has able to make it run with v5.10.
I have a copy of V5 but have not yet installed it. From the marketing info it seems that there are several manual updates that are required to the system code, although I cannot remember what they are. It sounds like you have got quite a way into this. When you modified the asm files, did you remember to ensure the kernel is started from Supervisor mode? Also that the IRQ and Supervisor stacks are setup? Regards.
Here is what I have in the 91x_init.s file for setting up the stack ; Enter each mode in turn and set up the stack pointer MSR CPSR_c, #Mode_FIQ|I_Bit|F_Bit ; No interrupts LDR SP, =SFE(FIQ_STACK) MSR CPSR_c, #Mode_IRQ|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(IRQ_STACK) MSR CPSR_c, #Mode_ABT|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(ABT_STACK) MSR CPSR_c, #Mode_UND|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(UND_STACK) MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(SVC_STACK) MSR CPSR_c, #Mode_SYS|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(USR_STACK) ; — Set bits 17-18(DTCM/ITCM order bits)of the Core Configuration Control ; Register MOV r0, #0x60000 MCR p15,0x1,r0,c15,c1,0 ; — Now change to supervise mode and set up User mode stack, MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(CSTACK)
Hi, First I must tell you that I use another board, but it doesnt really matter since I have the same problem than you. I was running the uIP web server on my board using IAR 4.X and it works fine. Now I am using 5.10 and it doesnt go very well. I had some data abort exception and this is where I went on this forum. I saw your following post ; — Now change to supervise mode and set up User mode stack, MSR CPSR_c, #Mode_SVC|I_Bit|F_Bit ; No interrupts LDR SP, = SFE(CSTACK) And that helps me a bit. I was running in system mode instead of supervisor mode. Now I don’t have the same problem. I have stripped out the web server code and I tried to run FreeRTOS with only one task running ( a blinking led task). When the task enter in vTaskDelayUntil, it never gets out of it. The idle task seems to be the only one running. Regards
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.