{ "id": "c", "title": "C · Freestanding RV32I and K&R", "catalog_only": true, "cards": [ {"id": "C01", "repo": "lab-rv32i-strlen-asm-c-gcc", "number": "01", "title": "ASM, C and GCC", "status": "existing"}, {"id": "C02", "repo": "lab-rv32i-strlen-bss-data-stack", "number": "02", "title": ".bss, .data and static storage", "status": "existing"}, {"id": "C03", "repo": "lab-rv32i-strlen-abi-stack", "number": "03", "title": "ABI and Stack Frame", "status": "existing"}, {"id": "C04", "repo": "lab-rv32i-c-types-operators-expressions", "number": "04", "title": "Types, Operators and Expressions", "status": "existing"}, {"id": "C05", "repo": "lab-rv32i-c-control-flow", "number": "05", "title": "Control Flow", "status": "existing"}, {"id": "C06", "repo": "lab-rv32i-c-functions-program-structure", "number": "06", "title": "Functions and Program Structure", "status": "existing"}, {"id": "C07", "repo": "lab-rv32i-c-pointers-arrays", "number": "07", "title": "Pointers, Arrays and Linear Allocator", "status": "existing"}, {"id": "C08", "repo": "lab-rv32i-c-structures", "number": "08", "title": "Structures and Linked State", "status": "existing"}, {"id": "C09", "repo": "lab-rv32i-c-smalloc-sbrk-libc", "number": "09", "title": "smalloc, sbrk and minimal libc", "status": "planned"}, {"id": "C10", "repo": "lab-rv32i-c-interrupts", "number": "10", "title": "RV32I Traps and Interrupt Control", "status": "planned"}, {"id": "C11", "repo": "lab-rv32i-c-timer", "number": "11", "title": "Machine Timer and Periodic Work", "status": "planned"}, {"id": "C12", "repo": "lab-rv32i-c-uart", "number": "12", "title": "UART — polling and interrupts", "status": "planned"}, {"id": "C13", "repo": "lab-rv32i-c-gpio", "number": "13", "title": "GPIO, Edges and Debounce", "status": "planned"} ] }