Совсем без асм в принципе не может получиться - SP и GP, в отличии
от кортексов, надо руками инициализировать. Команду перехода можно сгенерировать на С, но вставкой надёжней получается, чтобы init секцию гарантировано уложить в неиспользуемые первые два вектора таблицы векторов. В V003 таблица на 2К должна быть выровнена и у неё вообще кроме J ResetHandler туда ничего не поместишь.
В принципе, CMSIS это тоже обёртка над асм и интринсиками. Вся эта низкоуровневая требуха прячется в risc-v классе. А весь зоопарк команд доступа к CSR, к тому же, хорошо автоматизируется плюсами.