You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With the latest commits a bug was introduced in neorv32_boot_rom unit:
../../rtl/core/neorv32_boot_rom.vhd:69:12: index not within bounds
mem_v(i) := init(i)
^
It seems that the range of mem_v is smaller than the range of init in the following code snippet. If type boot_img_trange is increased by one, it works.
-- local types --type boot_img_t isarray (0to BOOTROM_SIZE/4-1) ofstd_ulogic_vector(31downto0);
-- init function ---- impure function: returns NOT the same result every time it is evaluated with the same arguments since the source file might have changedimpurefunction init_boot_rom(init : bootloader_init_image_t) return boot_img_t isvariable mem_v : boot_img_t;
begin
mem_v := (others=> (others=>'0'));
for i in0to init'length-1loop-- init only in range of source data array
mem_v(i) := init(i);
endloop; -- ireturn mem_v;
endfunction init_boot_rom;
I'm not a git expert, but I assume there is some magic git command to find out which commit introduced the bug.
The text was updated successfully, but these errors were encountered:
Oh crap! 😄
I had this problem way too often! The bootloader code occupies exactly 4096 bytes - so it fits into the boot ROM. But the "image" file - basically a case with 4096 when entries - also provides an others entry. I really need to fix the image generator...
As a dirty workaround, I will remove a nop from crt0 making the bootloader image 4092 bytes large.
With the latest commits a bug was introduced in neorv32_boot_rom unit:
It seems that the range of
mem_v
is smaller than the range ofinit
in the following code snippet. If typeboot_img_t
range is increased by one, it works.I'm not a git expert, but I assume there is some magic git command to find out which commit introduced the bug.
The text was updated successfully, but these errors were encountered: