Hello Alan, thanks for the report.
On Thursday 26 of May 2016 04:03:21 Alan Cudmore wrote: > I just tried the firmware in the repository above ( did not realize the > whole git repo was over 3 gigs! ) > > I backed up my RTEMS pi SD card and copied the contents of the firmware > "boot" directory to my card. I replaced kernel.img and kernel7.img with my > RKI images for the Pi and Pi2. > > RTEMS boots on my Pi Model A+, but not on the 2. Same RTEMS images that > booted on my old card. > > My old card boot directory is based off of a NOOBS installation. I'll have > to investigate more.. Maybe I can upload my SD card contents to my github > account ( I think that would be OK with the license, since the official > firmware is on github as well ) Please, can you check new and old firmware with my branch rtems-rpi-devel from https://github.com/ppisa/rtems to check if it works at leas on the firmware known to work with your previous build? As for the debugging, I have JTAG working on RPi1. I have no real HW experience with RTEMS on RPi2. (I have prepared RT Linux kernel for my colleagues at university who has it, but I do not consider to buy RPi2, but I consider RPi3). To find where boot stucks, add next lines ------------------------------------------------------------------------ #include <bsp/usart.h> void ll_chrout(char ch) { bcm2835_usart_fns.deviceWritePolled(0, ch); } void ll_strout(char *str) { char ch; while ((ch = *(str++)) != 0) { if (ch == '\n') bcm2835_usart_fns.deviceWritePolled(0, '\r'); bcm2835_usart_fns.deviceWritePolled(0, ch); } } ------------------------------------------------------------------------ to c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c then add/spread some ll_strout(" XXX reached\n"); over the RTEMS sources, start with the functions void BSP_START_TEXT_SECTION bsp_start_hook_0(void) void BSP_START_TEXT_SECTION bsp_start_hook_1(void) In c/src/lib/libbsp/arm/shared/include/arm-cp15-start.h is critical arm_cp15_set_domain_access_control(dac); can be replaced for test by arm_cp15_set_domain_access_control(-1); add print in start and end of arm_cp15_start_setup_translation_table() In cpukit/score/src/threadhandler.c critical is level = executing->Start.isr_level; _ISR_Set_level( level ); where IRQ can fire and if exeption table is misconfigured then deadly fails. Best wishes, Pavel _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel