Hi,
I have a few things I'm trying to do, but I cannot seem to get it working.
1.
I'm trying to set up timer interrupts using the mtimecmp (0xFFF1024000ULL)and mtvec, but it seems I never get an interrupt. The trap handler will terminate the running application.
I'm using the pitonstream to compile and run the application.
I have it running on another CVA6-based platform (Cheshire) with the applicable address for mtimecmp of course.
Any hints on what could be wrong? Has it anything to do with how pitonstream operates?
2.
I can't get openocd to work, I get the following output:
Info : JTAG tap: riscv.cpu tap/device found: 0x00000001 (mfg: 0x000 (<invalid>), part: 0x0000, ver: 0x0)
Info : datacount=2 progbufsize=8
Error: unable to halt hart 0
Error: dmcontrol=0x80000001
Error: dmstatus =0x00000c82
Error: Fatal: Hart 0 failed to halt during examine()
Error: [riscv.cpu] Examination failed
Warn : target riscv.cpu examination failed
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdb connections
Error: Target not examined yet
I'm using the piton/design/chip/tile/ariane/corev_apu/fpga/ariane-multi-hart.cfg (updated to work with a newer version of openocd (0.12+dev...))
I must be missing something, this I can get working with Cheshire.
3.
My ideal flow would be something like this:
- Power on, load bit file into the FPGA,
- Pressing reset => u-boot loads my run-time and application (fit file) from TFTP and then starting the application.
I have seen discussions about booting Linux using u-boot, but I'm not quite sure where to begin. The bootrom, opensbi, u-boot stuff is still a mystery to me. Any pointers would be greatly appreciated.
Regards,
/Andreas