2008-09-04 02:49 AM
STR 750 - Embedded Linux - RTOS
2008-08-25 08:56 PM
Hello,
I am trying to get embedded Linux and/or FreeRTOS to work on this. Well, I am totally stuck right now... My hardware is: STR750-Eval Board with a Segger j-link My IDE is the IAR Kickstart 5.0 I tried to re-write the bootloader from the STR710 to work on this machine. Well, with the exception of the EMI -> SMI conversion (right now outcommented) I got it to compile without errors... My first problem here is to flash it into the SMI - as stated in the STR71x docs it has to be flashed into the external memory I used the SMI Flashloader provided with the ST75x-libraries, but I always get the errors: Flash download warning: 1776 of 1776 bytes from data record CODE:[0x80000000,0x800006EF] will not be flashed Flash download warning: 26344 of 26344 bytes from data record CODE:[0x800006F4,0x80006DDB] will not be flashed Well, it remains empty. So my questions for this problem: * Is there a ready uCLinux and bootloader port available for this board ? (I don't seem to find anything) * Can someone help me to get rid of this error ? My other question refers to freertos.org RTOS. There is a ready port for this plattform and even for the IAR Kickstart 5.0 but it won't start !! I got the following informations from J-Link driver: Breakpoint #1 Handle 0x001 Address 0x00000008 Permission Hard Implementation Hard * No device selected The output of IAR says: 692 Bytes downloaded and verified Target reset Then it is stalled until removing the USB-connection to the J-Link. After that I get: Fatal error: Could not transfer JTAG data Session aborted Warning: Code still contains old breakpoints Well as for the breakpoints: IAR Workbench doesn't not show me a single one. It's just the one I have seen in the J-Link info. I even tried another flasher-file (from the other projects) without success. I really would be thankfull if I get any of this finally to work with your help... Regards, Liemmukda2008-08-27 02:59 AM
Well, OK - I got the bootloader code ported and flashed. I just need to figure out why the system does a reboot when attempting to write in to internal or external flash (though ST routines, maybe I need to configure a few jumpers). Also I have to figure out whether the ported ASM Linux-Loader code will work..
Might be a small thing now as the main part (receiving the files from Hyperterminal, code porting) finally works [ This message was edited by: rony.liemmukda on 27-08-2008 15:30 ]2008-09-04 02:49 AM
Well, maybe this question can be answered...
Is the following call to execute from SMI correct ? C calling /* r0=0, r1=machine_id, r2=parameter, r3=kernel */ loadLinuxZImage( 0, 603, 0x80000100, 0x80220000 ); Assembler routine SECTION loadLinux:CODE(2) Mode_SVC EQU 0x13 I_Bit EQU 0x80 ; when I bit is set, IRQ is disabled F_Bit EQU 0x40 ; when F bit is set, FIQ is disabled ; void LoadLinux( int, int, u32, u32 ) ; Call linux kernel image EXPORT loadLinuxZImage loadLinuxZImage MSR CPSR_c, #Mode_SVC|F_Bit|I_Bit ;enter SVC with FIQ IRQ disabled MOV pc, r3 ; program counter to linux kernel location LTORG END It actually does something, but it's far beyond the view of the debugger. All I get as information after hitting a few times the break button, is a data abort exception. I don't know if it comes from this very piece of code or from my kernel modifications... Well, would be nice if someone does know an answer. I just doN't know where to seek for an error right now. It might be the kernel (I modified those 13000 lines of code of the STR710-patch...) or it might be this calling. Thanks[ This message was edited by: rony.liemmukda on 04-09-2008 15:20 ]