Hello
I am a hobbyist searching for a cheap SOC/board to learn armv8 development. I am interested in os development, also bootloader and ottrusted firmware development.
Is there any SOC that provides good enough documentation to allow me to write my own firmware without banging my head against the wall (not counting lack of understanding for things that are written there)? Most socs I've seen are really lacking in that regard.
Also the requirement is of course armv8 architecture.
Hello, you did not specifiy whether you meant Armv8-A or Armv8-M.
You may be interested to know there are free of charge virtual platforms available:
https://developer.arm.com/tools-and-software/simulation-models/fixed-virtual-platforms/arm-ecosystem-models
For platforms with a richer peripheral set, see:
https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps
FYI I recently published a pair of blogs explaining how to use this platform with Arm's proprietary toolchains:
https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/software-development-for-corstone-300
https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/software-development-for-corstone-700
Corstone-300 uses Cortex-M55. You may also be interested in the Musca S1 platform for Cortex-M
https://developer.arm.com/tools-and-software/development-boards/iot-test-chips-and-boards/musca-s1-test-chip-board
Regards
Ronan
Well, I specifically mean non virtual platforms, to be honest. Also I am not sure if I know difference between a and m, so it's likely it doesn't matter for me here.
Cortex-M are Microcontrollers;
Cortex-A are Application processors.
https://community.arm.com/developer/ip-products/processors/f/cortex-a-forum/6537/what-is-differene-between-cortex-a-cortex-m-and-cortex-r-series-of-arm/20850#20850
webczat said:Is there any SOC that provides good enough documentation to allow me to write my own firmware
SoC documentation is not written to teach you electronics or firmware development - those are presumed as pre-requisites.
For learning, start here:
http://www2.keil.com/mdk5/learn
See also: https://www.keil.com/books/
however, it is not a problem for me to read raw soc documentation. I actually understand enough when it goes to programming side to be able to learn. My problem is that soc documentation is more often than not just incomplete or very incomplete. Especially all the lower level initialization steps like initializing memory is hard if you don't have docs for this thing.