let's assume that I have two projects: 1) an SSL and 2) an application. Both CCES projects include a CCES Blackfin Loader step which points to an initialization file.
When both the SSL and the application are flashed and the system boots (BF70x family), is it possible that only the init code of the SSL gets executed?
(The application is booted in the SSL via adi_rom_boot function.)
If so, how is this mechanism controlled?
Hi Matthias,Regarding,"is it possible that only the init code of the SSL gets executed?">> Yes it is possible. I have attached the one simple LED code for your requirement, This code will turn on the LED4. I have taken the Init code from the below mentioned Installation Path and modified to turn on the LED3. While creating loader file I have used modified init code. So when am booting this application the LED3&LED4 will turn on.Installation Path: Analog Devices\CrossCore Embedded Studio 2.8.2\Blackfin\ldr\init_code\BF70x_Init\BF707_initAccording to your scenario I have add the "asm("JUMP 0;");" after LED3 configuration. So that when am booting the application that booting will stop in init code asm("JUMP 0;"); line.Regarding, "how is this mechanism controlled?">> Please refer EE-374 application note, which describes what an SSL is , how to create loader (LDR) files from DXEs, and how to write LDR files to SPI flash memory. And also example code associated with that. Please find the application note and associated from below link,EE-374 application note: www.analog.com/.../EE374v01.pdfCode: www.analog.com/.../EE374v01.zipFor more information you can also refer the Boot ROM and Booting the Processor section(PageNo:1871 / 2223) in the HRM of ADSP-BF707. Please find the HRM from below link,www.analog.com/.../BF70x_BlackfinProcessorHardwareReference.pdfRegards,Lalitha.S
thank you for my reply. I think my formulation was misleading. Let me correct my question to:
If I use init code in the bootloader and I use init code in the application, does the processor only execute the init code in the bootloader and not in the application?
If so, why? And what makes the processor control it?
If no, I see another effect.
there's currently not really a requirement to have the init code in both, the SSL and the application(s) - but this is the current configuration.
So I was wondering how the DSP would behave if both had init code in it, as this can be set in the CCES project.
If we have init code in both, how does the system behave?
Hello Matthias,Regarding, "If we have init code in both, how does the system behave?">> The first project init_code initialize the clock configuration and DDR configuration while coming out of reset. After when the second application called upon the first application, if the init_code again exists on the second application, the clock configuration and DDR configuration has been reinitialized.This is no longer necessary for the normal application until this must be a requirement for the application to change the processor state from one to another.Probably, the purpose of init_code is used to sustain the processor in expected operational condition via initializing SDRAM Controller settings & PLL settings before entering into main application. This suits for SSL implementation as well.Regards,Lalitha