|
| 1 | +.. zephyr:board:: milkv_duo |
| 2 | +
|
| 3 | +Overview |
| 4 | +******** |
| 5 | + |
| 6 | +See https://milkv.io/duo |
| 7 | + |
| 8 | +Supported Features |
| 9 | +================== |
| 10 | + |
| 11 | +.. zephyr:board-supported-hw:: |
| 12 | +
|
| 13 | +Programming and Debugging |
| 14 | +************************* |
| 15 | + |
| 16 | +Prepare a TF card and follow the instructions in the `official SDK`_ to build |
| 17 | +and flash the image. |
| 18 | + |
| 19 | +After that, you will get a ``fip.bin`` file at the root of the TF card, where |
| 20 | +the RTOS image is packed. |
| 21 | + |
| 22 | +The following steps demonstrate how to build the blinky sample and update the |
| 23 | +``fip.bin`` file on the TF card. |
| 24 | + |
| 25 | +.. zephyr-app-commands:: |
| 26 | + :zephyr-app: samples/basic/blinky |
| 27 | + :board: milkv_duo/cv1800b/c906_1 |
| 28 | + :goals: build flash |
| 29 | + :flash-args: --fiptool /path/to/duo-buildroot-sdk/fsbl/plat/cv180x/fiptool.py --fip-bin /path/to/tfcard/fip.bin |
| 30 | + |
| 31 | +Eject the TF card and insert it into the board. Power on the board and you will |
| 32 | +see the LED blinking. |
| 33 | + |
| 34 | +.. note:: |
| 35 | + |
| 36 | + Notes for the official buildroot SDK |
| 37 | + |
| 38 | + 1. The Linux running on the big core uses UART0 (GP12/GP13) for the console, |
| 39 | + while to avoid conflict, the Zephyr application (in the default board |
| 40 | + configuration) uses UART1 (GP0/GP1). |
| 41 | + 2. Pin multiplexing can be handled either by U-Boot or Zephyr. To utilize |
| 42 | + Zephyr's pin multiplexing, enable :kconfig:option:`CONFIG_PINCTRL` and |
| 43 | + recompile U-Boot without the PINMUX configs. The source code for the |
| 44 | + PINMUX configs varies by SoC: |
| 45 | + |
| 46 | + * For Duo (CV1800B), see `PINMUX configs (Duo)`_ |
| 47 | + * For Duo 256M (SG2002), see `PINMUX configs (Duo 256M)`_ |
| 48 | + |
| 49 | + Note that U-Boot boots several seconds after Zephyr. |
| 50 | + 3. By default, the Linux running on the big core will blink the LED on the |
| 51 | + board. To demonstrate Zephyr (specifically, the ``samples/basic/blinky`` |
| 52 | + sample), you should remove the script from the Linux filesystem located at |
| 53 | + ``/mnt/system/blink.sh``. |
| 54 | + |
| 55 | +.. _official SDK: |
| 56 | + https://github.com/milkv-duo/duo-buildroot-sdk |
| 57 | + |
| 58 | +.. _PINMUX configs (Duo): |
| 59 | + https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv180x/cv1800b_milkv_duo_sd/u-boot/cvi_board_init.c |
| 60 | + |
| 61 | +.. _PINMUX configs (Duo 256M): |
| 62 | + https://github.com/milkv-duo/duo-buildroot-sdk/blob/develop/build/boards/cv181x/cv1812cp_milkv_duo256m_sd/u-boot/cvi_board_init.c |
0 commit comments