Bcm63381b0 Firmware Guide

memory@0 device_type = "memory"; reg = <0x0 0x4000000>; // 64 MB ;

gpio-leds compatible = "gpio-leds"; led_power label = "power"; gpios = <&gpio0 5 GPIO_ACTIVE_HIGH>; ; ; ;

Example: a minimal C program to blink an LED via GPIO. bcm63381b0 firmware

| Item | Source | |------|--------| | BCM63381B0 datasheet | Broadcom (under NDA) | | Broadcom BSP (Linux + drivers) | Broadcom or device vendor | | CFE source or binary | Part of BSP | | DSL CPE API docs | Broadcom | | JTAG/SWD debugger | Segger J-Link, FT2232H |

return 0;

int main() gpio_init(); for (int i = 0; i < 10; i++) gpio_set(1); cfe_sleep(500); // milliseconds gpio_set(0); cfe_sleep(500);

mips-linux-gnu-gcc -mips32r2 -msoft-float -G 0 -c minimal.c mips-linux-gnu-ld -T cfe.ld -o minimal.elf minimal.o cfe-bin2bin minimal.elf minimal.bin Then load via CFE prompt: memory@0 device_type = "memory"

make menuconfig # select bcm63xx target and your board make -j$(nproc) Output: openwrt-bcm63381-demo-squashfs-cfe.bin (ready to flash via CFE) To really develop firmware for BCM63381B0, you legally need:

void gpio_init() // set GPIO pin 5 as output unsigned int dir = (volatile unsigned int )GPIO_DIR; dir reg = &lt