I have sent a new patch for this. For now, as I kept stucking on trying to replace the prom with resc statements, I have decided to just add the prom image binary to the rtems-tools and use it in the renode script.
- Mazaya On Fri, Jul 21, 2023 at 4:13 AM Joel Sherrill <j...@rtems.org> wrote: > > > On Wed, Jul 19, 2023 at 10:30 PM Alan Cudmore <alan.cudm...@gmail.com> > wrote: > >> Hi Mazaya, >> >> On Tue, Jul 18, 2023 at 8:35 PM Muhammad Sulthan Mazaya < >> msulthanmaz...@gmail.com> wrote: >> >>> Hi Alan, >>> >>> > Also, as you mentioned, the renode Zephyr example runs directly from >>> RAM without a prom image. Is it that the RTEMS LEON3 BSP relies on >>> initialization done by the boot prom (GRMON or MKPROM2 based boot code)? >>> >>> Do you or anyone on the devel mailing list know where/how can I check >>> which kind of initialization rtems leon3 bsp rely on? Sorry, I am fairly >>> new to this >>> >>> The prom image source code is pretty simple, but it would take a little >> bit of time (for me at least) to decode since it is in SPARC assembly >> language: >> The code: >> >> https://github.com/TUT-ASI/leon3-grlib-gpl-mirror/blob/master/software/leon3/prom.S >> And the prom.h header they use for the renode prom image: >> https://github.com/antmicro/renode-rtems-leon3/blob/main/prom.h >> >> Essentially, it is setting up the processor including the stack pointer, >> and minimal configuration (AMBA Plug and play?). The idea would be to >> translate what the prom.S assembly program is doing into a set of .resc >> statements to program configuration registers and set up anything that >> RTEMS may need to run. It may be a subset of everything that the assembly >> code does - It may come down to just one or two statements. I'm not being >> specific with the steps, because I'm not sure myself.. I would have to take >> some time to figure out exactly what it's doing. >> > > I think we rely on grmon passing us the size of RAM which might be via the > stack pointer we start on. > > There is also CLOCK_SPEED in start.S which is info from grmon which > appears to be used in the clock driver. > > If we are relying on specific state of device setup, I don't know. I don't > think we would by now given the use cases for this BSP. > > >> Here is an example for the K210 where some of the peripheral registers >> are programmed in the renode resc script: >> >> https://github.com/renode/renode/blob/master/scripts/single-node/kendryte_k210.resc#L10 >> >> Replacing the prom with resc statements is one way to solve the problem - >> by understanding the assembly and the memory mapped registers that are >> being programmed. The other way to solve the problem is by figuring out the >> way to supply the prom.bin file to users that need to run RTEMS/LEON3 >> binaries on renode. One is an embedded programming problem and the other is >> an automation problem. I think both are valid solutions. >> >> Regards, >> Alan >> >> >> >>> Thank you, >>> Mazaya >>> >>> On Tue, Jul 18, 2023 at 11:27 PM Alan Cudmore <alan.cudm...@gmail.com> >>> wrote: >>> >>>> Hi Mazaya, >>>> I wonder if it is possible to initialize the processor to the state >>>> where it can run the RTEMS image in RAM without using the prom image? The >>>> processor initialization would have to go in the resc script before the >>>> image is loaded and started. >>>> Also, as you mentioned, the renode Zephyr example runs directly from >>>> RAM without a prom image. Is it that the RTEMS LEON3 BSP relies on >>>> initialization done by the boot prom (GRMON or MKPROM2 based boot code)? >>>> >>>> https://github.com/renode/renode/blob/master/scripts/single-node/leon3_zephyr.resc >>>> >>>> I guess it ends up being a trade off of tooling vs. trying to program >>>> the necessary initialization in the resc script. >>>> >>>> Regards, >>>> Alan >>>> >>>> On Tue, Jul 18, 2023 at 2:46 AM Muhammad Sulthan Mazaya < >>>> msulthanmaz...@gmail.com> wrote: >>>> >>>>> Hi, >>>>> >>>>> I was trying to implement renode for testing leon3 using rtems-test. I >>>>> noticed that from the example they provide >>>>> https://github.com/antmicro/renode-rtems-leon3/blob/main/leon3_rtems.resc, >>>>> it seems like the renode simulator needs the prom image of leon3 to do so. >>>>> I don't think an additional build step before testing a particular bsp is >>>>> something supported by the build config of rtems-tools + my mentors >>>>> also said it shouldn't be on the rtems-tools. Is it okay to have RSB build >>>>> that for us as part of the BSP? >>>>> >>>>> Thank you, >>>>> Mazaya >>>>> _______________________________________________ >>>>> devel mailing list >>>>> devel@rtems.org >>>>> http://lists.rtems.org/mailman/listinfo/devel >>>> >>>> _______________________________________________ >> devel mailing list >> devel@rtems.org >> http://lists.rtems.org/mailman/listinfo/devel > >
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel