Difference between revisions of "PineCone"
Jump to navigation
Jump to search
Robertlipe (talk | contribs) (Add information about on-board CH340 USB/Serial adapter.) |
Robertlipe (talk | contribs) (Capture state of flash loaders, JTAG) |
||
Line 36: | Line 36: | ||
* '''Package Type:''' | * '''Package Type:''' | ||
** 32 pin QFN 4mm x 4mm | ** 32 pin QFN 4mm x 4mm | ||
* JTAG support (See below for BL602 impact) | |||
** BL602 multiplexes four GPIO pins to provide the familiar JTAG lines: | |||
GPIO17 - TDI | |||
GPIO11 - TDO | |||
GPIO12 - TMS | |||
GPIO14 - TCK | |||
The chip boots with these lines in JTAG mode. | |||
[[File:BL602_Block_Diagram.jpg|600px]] | [[File:BL602_Block_Diagram.jpg|600px]] | ||
Line 48: | Line 55: | ||
** Note: Current schematic, cc1 and cc2 share one 5.1KOhm resistor. Next schematic design will separate out the cc1 and cc2 has it own 5.1KOhm resistors | ** Note: Current schematic, cc1 and cc2 share one 5.1KOhm resistor. Next schematic design will separate out the cc1 and cc2 has it own 5.1KOhm resistors | ||
* The board uses a CH340 Serial/USB adapter. This chip is commonly used in Arduino-class development boards. It is a full speed (12Mbps) USB interface and has vendor ID 0x1a86 with product ID 0x7523. | * The board uses a CH340 Serial/USB adapter. This chip is commonly used in Arduino-class development boards. It is a full speed (12Mbps) USB interface and has vendor ID 0x1a86 with product ID 0x7523. | ||
* The GPIO pins (11, 12, 14, 17) plus the nearby RESET, POWER, and GND pins are all located on one side of the board, on J1. | |||
== Datasheets for components and peripherals == | == Datasheets for components and peripherals == | ||
Line 65: | Line 73: | ||
* NUT-15 -> RTL8723/AMPAK | * NUT-15 -> RTL8723/AMPAK | ||
== Loading code == | |||
There are currently a number of loaders in progress, each with differing degrees of completeness and success on various operating systems. | |||
* In the build tree, there is BLFlashCube for Windows and a flash_build for Linux, neither with source. | |||
* [https://github.com/stschake/bl60x-flash bl60x-flash] is in Python and has been reported successful on MacOS catalina (10.15.6) by Punnerud and madushan1000. | |||
* [https://github.com/bouffalolab/BLOpenFlasher BLOpenFlasher] is a WIP, written in go, by Bouffalo Labs to provide source for a flash utility. | |||
* [https://github.com/renzenicolai/bl602tool] is a Python utility in development. | |||
== Development efforts == | == Development efforts == | ||
* [https://github.com/pine64/bl_iot_sdk PineCone BL602 GitHub Page (PINE64 fork)] | * [https://github.com/pine64/bl_iot_sdk PineCone BL602 GitHub Page (PINE64 fork)] has compilers, linkers, and all the code to build on Windows, Linux(x64), and MacOS. | ||
* [https://github.com/bouffalolab/bl_iot_sdk Bouffalo Lab GitHub Page] | * [https://github.com/bouffalolab/bl_iot_sdk Bouffalo Lab GitHub Page] | ||
* [https://github.com/renzenicolai/bl602-docs/ BL602 Developer organize documentation GitHub Page] | * [https://github.com/renzenicolai/bl602-docs/ BL602 Developer organize documentation GitHub Page] |
Revision as of 09:46, 2 December 2020
Page under construction, information subject to change.
- PineCone BL-602 EVB (Evaluation Board):
BL602 Specifications
- CPU: 32-bit RV32IMAFC RISC-V “SiFive E24 Core”
- Memory:
- 128KB ROM
- 276KB SRAM
- 1Kb eFuse
- 2MB Embedded Flash
- Security:
- Secure boot
- Secure debug
- AES 128/192/256
- SHA-1/224/256
- TRNG (True Random Number Generator)
- PKA (Public Key Accelerator)
- Wireless:
- Wi-Fi 802.11 b/g/n
- Bluetooth® Low Energy 5.0
- Wi-Fi Fast connection with BLE assistance
- Wi-Fi and BLE coexistence
- Wi-Fi Security WPS/WEP/WPA/WPA2/WPA3
- STA, SoftAP and sniffer modes
- Multi-Cloud connectivity
- 2.4 GHz RF transceiver
- Integrated RF balun, PA/LNA
- Package Type:
- 32 pin QFN 4mm x 4mm
- JTAG support (See below for BL602 impact)
- BL602 multiplexes four GPIO pins to provide the familiar JTAG lines:
GPIO17 - TDI GPIO11 - TDO GPIO12 - TMS GPIO14 - TCK The chip boots with these lines in JTAG mode.
PineCone BL602 EVB information and schematics
- Approximate dimensions: 26mm x 43mm
- Board layout:
- PineCone BL602 EVB schematic ver 1.1
- Note: Current schematic, cc1 and cc2 share one 5.1KOhm resistor. Next schematic design will separate out the cc1 and cc2 has it own 5.1KOhm resistors
- The board uses a CH340 Serial/USB adapter. This chip is commonly used in Arduino-class development boards. It is a full speed (12Mbps) USB interface and has vendor ID 0x1a86 with product ID 0x7523.
- The GPIO pins (11, 12, 14, 17) plus the nearby RESET, POWER, and GND pins are all located on one side of the board, on J1.
Datasheets for components and peripherals
- Bouffalo BL-602 SoC information:
- Bouffalo Lab BL602 SoC Datasheet V1.2
- Bouffalo Lab BL602 SoC Datasheet V1.1
- Bouffalo Lab BL602 SoC Reference Manual V1.1
- Please note that the Chinese wording "寄存器描述" means "Register Description" in reference manual ver 1.1
- USB/Serial adapter:
Misc notes
Planned to be available in at least three form factors:
- NUT-01S -> ESP-01S
- NUT-12S -> ESP-12S
- NUT-15 -> RTL8723/AMPAK
Loading code
There are currently a number of loaders in progress, each with differing degrees of completeness and success on various operating systems.
- In the build tree, there is BLFlashCube for Windows and a flash_build for Linux, neither with source.
- bl60x-flash is in Python and has been reported successful on MacOS catalina (10.15.6) by Punnerud and madushan1000.
- BLOpenFlasher is a WIP, written in go, by Bouffalo Labs to provide source for a flash utility.
- [1] is a Python utility in development.
Development efforts
- PineCone BL602 GitHub Page (PINE64 fork) has compilers, linkers, and all the code to build on Windows, Linux(x64), and MacOS.
- Bouffalo Lab GitHub Page
- BL602 Developer organize documentation GitHub Page
- BL602 reverse engineering working group
- Linux kernel module