November 23, 2024, 01:22:14 AM

iCE40HX8K-EVB REV-B or REV-B1?

Started by Gene, September 25, 2024, 11:19:51 PM

Previous topic - Next topic

Gene

I just got a iCE40HX8K-EVB from Mouser, did I get a REV-B or REV-B1? Looking at the pdf schematics side by side I did not immediately see the difference. Is there some practical difference I should be aware of?

I was able to blink the led, programmed using the 32U4. And I was able to load and run the apple-one project and use PS/2 keyboard and VGA (via iCE40-IO) to play with wozmon. So the board seems to work as far as that goes.

My attempts to run the xv6-riscv-fpga project didn't seem to work. I'm not sure how to debug from here. The apple-one project doesn't use the SRAM chip, as far as I can tell; there is a comment on the schematics about switching a resistor with regard to the SRAM, but I didn't understand the implications of that.

What should I check to get the xv6 project going?

LubOlimex

Glad you managed to program it, it is the most important step.

You probably got B1 since we've been making that for a few years now. Quite unlikely Mouser still have left over revision B boards. Anyway, hardware revision changes file was missing from GitHub, and the only change is component U1 was changed from W25Q16BVSSIG(SOIC-8_208mil) to EN25Q16B-104HIP(SOIC-8_208mil). Maybe this will help you confirm the revision.

About the software project, we don't have much experience with that maybe some customer would know more.
Technical support and documentation manager at Olimex

Gene


LubOlimex

Hello,

I looked through the production logs and I can confirm latest batch of boards manufactured have ZD25Q16BTIGT SPI memory. This looks like a miss in the documentation and the schematic. I will add a reminder to the designers to fix it. Thanks for the notice.

From our testing the ZD25Q16BTIGT should behave exactly the same as EN25Q16B-104HIP but let me know if you notice something strange.


Best regards,
Lub/OLIMEX

Technical support and documentation manager at Olimex

Gene

I did get the xv6-riscv-fpga project working on my device (kudos to Michael Schröder @x653) although I don't know if I have everything exactly right. The usertests program failed with "preempt: fork failed" but the 16 tests before that one did seem to pass.

I did use a newer version of GCC to compile the boot code, kernel, and user space.

$ /opt/riscv/bin/riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (g646b5650a) 14.2.1 20240919

Using "-march=rv32ia_zicsr -mabi=ilp32".

I will continue to tinker and learn, it's great fun!