dc3e88d7512920ba9815ee3cb770449f76ed3b18
Chip-cn-dat/allwinner-dat/allwinner-dat.md
| ... | ... | @@ -1,6 +1,7 @@ |
| 1 | 1 | |
| 2 | 2 | # allwinner-dat |
| 3 | 3 | |
| 4 | +- [[H618-dat]] |
|
| 4 | 5 | |
| 5 | 6 | - [[allwinner-D1-dat]] |
| 6 | 7 | |
| ... | ... | @@ -54,27 +55,16 @@ |
| 54 | 55 | - https://github.com/xboot/xfel == Tiny FEL tools for allwinner SOC. |
| 55 | 56 | |
| 56 | 57 | |
| 58 | +## allwinner boards |
|
| 57 | 59 | |
| 58 | -## repo |
|
| 60 | +- [[OPI-DAT]] - [[dongshanpi-dat]] |
|
| 59 | 61 | |
| 60 | 62 | |
| 61 | -- https://github.com/Edragon/allwinner == [[T113-dat]] |
|
| 62 | -- https://github.com/Edragon/Allwinner-V831 |
|
| 63 | -- https://github.com/Edragon/allwinner-nano |
|
| 64 | - |
|
| 65 | -- https://bitbucket.org/e_dragon/allwinner-f1c200s-hdk |
|
| 66 | -- https://bitbucket.org/e_dragon/allwinner-f1c200s-sdk |
|
| 67 | -- https://bitbucket.org/e_dragon/allwinner-h2 |
|
| 68 | -- https://bitbucket.org/e_dragon/allwinner-v3s-sdk |
|
| 69 | - |
|
| 70 | -- https://github.com/lindenis-org |
|
| 71 | - |
|
| 72 | -- https://gitlab.com/dongshanpi/tools |
|
| 73 | -- https://gitlab.com/users/dongshanpi/projects |
|
| 74 | - |
|
| 75 | 63 | |
| 76 | 64 | ## ref |
| 77 | 65 | |
| 66 | +- [[allwinner-SDK-dat]] |
|
| 67 | + |
|
| 78 | 68 | - [[allwinner]] |
| 79 | 69 | |
| 80 | 70 | - [[chip-cn-dat]] |
Chip-dat/NXP-dat/NXP-dat.md
| ... | ... | @@ -3,6 +3,9 @@ |
| 3 | 3 | |
| 4 | 4 | [[NXP-CAN-dat]] - [[TJA1050-dat]] |
| 5 | 5 | |
| 6 | +- [[i.MX6ULL-dat]] |
|
| 7 | + |
|
| 8 | + |
|
| 6 | 9 | - [[PCA9685-dat]] |
| 7 | 10 | |
| 8 | 11 | - PCF8566 == Universal LCD driver for low multiplex rates - Rev. 07 — 25 February 2009 |
Chip-dat/NXP-dat/i.MX6ULL-dat/i.MX6ULL-dat.md
| ... | ... | @@ -0,0 +1,89 @@ |
| 1 | + |
|
| 2 | +# i.MX6ULL-dat |
|
| 3 | + |
|
| 4 | +- [[SBC-dat]] |
|
| 5 | + |
|
| 6 | +# 📘 i.MX6ULL Overview |
|
| 7 | + |
|
| 8 | +The **i.MX6ULL** is a **cost-effective, low-power application processor** developed by **NXP** (formerly Freescale). It's part of the **i.MX6 family**, based on the **ARM Cortex-A7** architecture, and is widely used in industrial and IoT embedded systems. |
|
| 9 | + |
|
| 10 | +--- |
|
| 11 | + |
|
| 12 | +## 🧠 Quick Summary |
|
| 13 | + |
|
| 14 | +| Feature | Details | |
|
| 15 | +|----------------------|---------------------------------------------| |
|
| 16 | +| **CPU Core** | ARM Cortex-A7 (single core) | |
|
| 17 | +| **Max Clock Speed** | Up to 900 MHz | |
|
| 18 | +| **Architecture** | ARMv7-A (32-bit) | |
|
| 19 | +| **Manufacturing** | 40nm process | |
|
| 20 | +| **Memory Support** | DDR3, DDR3L, LPDDR2 | |
|
| 21 | +| **Interfaces** | UART, SPI, I2C, CAN, USB, Ethernet, LCD | |
|
| 22 | +| **GPU** | None (no graphics engine) | |
|
| 23 | +| **Power Efficiency** | Very low power consumption | |
|
| 24 | +| **Package** | BGA169, compact for small devices | |
|
| 25 | +| **Target Use Cases** | Industrial HMI, IoT gateways, POS, medical, smart home | |
|
| 26 | + |
|
| 27 | +--- |
|
| 28 | + |
|
| 29 | +## 🔌 Common Peripherals |
|
| 30 | + |
|
| 31 | +- Ethernet 10/100 Mbps |
|
| 32 | +- USB 2.0 Host and OTG |
|
| 33 | +- SD / eMMC storage |
|
| 34 | +- LCD interface (24-bit RGB) |
|
| 35 | +- Touch screen controller (I2C) |
|
| 36 | +- Audio interfaces (I2S / SAI) |
|
| 37 | +- UART, SPI, I2C, PWM, ADC, GPIO |
|
| 38 | +- CAN bus (on some variants) |
|
| 39 | + |
|
| 40 | +--- |
|
| 41 | + |
|
| 42 | +## ✅ Strengths |
|
| 43 | + |
|
| 44 | +- Low cost and **very power-efficient** |
|
| 45 | +- Broad peripheral support |
|
| 46 | +- Ideal for **headless embedded systems** |
|
| 47 | +- Long-term supply commitment from NXP |
|
| 48 | +- Strong **Linux and Yocto** support |
|
| 49 | +- Compact package suitable for small devices |
|
| 50 | + |
|
| 51 | +--- |
|
| 52 | + |
|
| 53 | +## ❌ Limitations |
|
| 54 | + |
|
| 55 | +- **No GPU** – Not suitable for GUI-heavy applications |
|
| 56 | +- Single-core – Lower performance compared to other i.MX6 variants |
|
| 57 | +- No VPU (video decode/encode) – not for multimedia workloads |
|
| 58 | + |
|
| 59 | +--- |
|
| 60 | + |
|
| 61 | +## 📦 Common Boards Using i.MX6ULL |
|
| 62 | + |
|
| 63 | +- **NXP i.MX6ULL EVK** |
|
| 64 | +- **Toradex Colibri iMX6ULL** |
|
| 65 | +- **SoMLabs VisionSOM-6ULL** |
|
| 66 | +- **FriendlyARM NanoPi Duo / Duo2** |
|
| 67 | +- Various industrial custom boards |
|
| 68 | + |
|
| 69 | +--- |
|
| 70 | + |
|
| 71 | +## 🛠️ Software Support |
|
| 72 | + |
|
| 73 | +- Linux (mainline and NXP BSP) |
|
| 74 | +- U-Boot bootloader |
|
| 75 | +- Yocto Project (meta-freescale) |
|
| 76 | +- Buildroot |
|
| 77 | +- RTOS (e.g. Zephyr, with limitations) |
|
| 78 | +- Secure Boot support (on select variants) |
|
| 79 | + |
|
| 80 | +--- |
|
| 81 | + |
|
| 82 | +## 🔚 Conclusion |
|
| 83 | + |
|
| 84 | +The **i.MX6ULL** is best suited for: |
|
| 85 | +- **Low-cost industrial control** |
|
| 86 | +- **IoT edge devices** |
|
| 87 | +- **Smart meters and POS** |
|
| 88 | +- **Audio gateways** |
|
| 89 | +- Any application that requires reliability, low power, and moderate CPU performance. |
|
| ... | ... | \ No newline at end of file |
Chip-dat/chip-dat.md
| ... | ... | @@ -40,7 +40,7 @@ from a to z |
| 40 | 40 | |
| 41 | 41 | |
| 42 | 42 | |
| 43 | -- [[NXP-dat]] - [[PCA9685-dat]] - [[PCF8574-dat]] |
|
| 43 | +- [[NXP-dat]] - [[PCA9685-dat]] - [[PCF8574-dat]] - [[i.MX6ULL-dat]] |
|
| 44 | 44 | |
| 45 | 45 | - [[nordic-dat]] - [[nrf52840-dat]] - [[nrf52840-mod-dat]] |
| 46 | 46 |
SDK-dat/C-dat/C-dat.md
| ... | ... | @@ -1,6 +1,12 @@ |
| 1 | 1 | |
| 2 | 2 | # C-dat |
| 3 | 3 | |
| 4 | +- [[MSYS2-dat]] - [[Cmake-dat]] - [[Ccache-dat]] |
|
| 5 | + |
|
| 6 | +- [[RPI-C-dat]] |
|
| 7 | + |
|
| 8 | +- [[C-errors-dat]] |
|
| 9 | + |
|
| 4 | 10 | |
| 5 | 11 | IntelliSense Configurations |
| 6 | 12 |
SDK-dat/C-dat/C-errors-dat.md
| ... | ... | @@ -0,0 +1,184 @@ |
| 1 | + |
|
| 2 | +# C-errors-dat.md |
|
| 3 | + |
|
| 4 | +## Q1 |
|
| 5 | + |
|
| 6 | + vb@ubuntu14:~/xfel$ make |
|
| 7 | + [CC] ecdsa256.c |
|
| 8 | + [CC] fel.c |
|
| 9 | + [CC] main.c |
|
| 10 | + main.c: In function ‘main’: |
|
| 11 | + main.c:46:2: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 12 | + for(int i = 1; i < argc; i++) |
|
| 13 | + ^ |
|
| 14 | + main.c:46:2: note: use option -std=c99 or -std=gnu99 to compile your code |
|
| 15 | + main.c:59:10: error: redefinition of ‘i’ |
|
| 16 | + for(int i = 0; i < count; i++) |
|
| 17 | + ^ |
|
| 18 | + main.c:46:10: note: previous definition of ‘i’ was here |
|
| 19 | + for(int i = 1; i < argc; i++) |
|
| 20 | + ^ |
|
| 21 | + main.c:59:2: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 22 | + for(int i = 0; i < count; i++) |
|
| 23 | + ^ |
|
| 24 | + main.c:246:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 25 | + for(int i = 0; i < sizeof(public_key); i++) |
|
| 26 | + ^ |
|
| 27 | + main.c:252:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 28 | + for(int i = 0; i < sizeof(private_key); i++) |
|
| 29 | + ^ |
|
| 30 | + main.c:265:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 31 | + for(int i = 0; i < sizeof(sha256); i++) |
|
| 32 | + ^ |
|
| 33 | + main.c:269:13: error: redefinition of ‘i’ |
|
| 34 | + for(int i = 0; i < sizeof(public_key); i++) |
|
| 35 | + ^ |
|
| 36 | + main.c:265:13: note: previous definition of ‘i’ was here |
|
| 37 | + for(int i = 0; i < sizeof(sha256); i++) |
|
| 38 | + ^ |
|
| 39 | + main.c:269:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 40 | + for(int i = 0; i < sizeof(public_key); i++) |
|
| 41 | + ^ |
|
| 42 | + main.c:273:13: error: redefinition of ‘i’ |
|
| 43 | + for(int i = 0; i < sizeof(private_key); i++) |
|
| 44 | + ^ |
|
| 45 | + main.c:269:13: note: previous definition of ‘i’ was here |
|
| 46 | + for(int i = 0; i < sizeof(public_key); i++) |
|
| 47 | + ^ |
|
| 48 | + main.c:273:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 49 | + for(int i = 0; i < sizeof(private_key); i++) |
|
| 50 | + ^ |
|
| 51 | + main.c:277:13: error: redefinition of ‘i’ |
|
| 52 | + for(int i = 0; i < sizeof(signature); i++) |
|
| 53 | + ^ |
|
| 54 | + main.c:273:13: note: previous definition of ‘i’ was here |
|
| 55 | + for(int i = 0; i < sizeof(private_key); i++) |
|
| 56 | + ^ |
|
| 57 | + main.c:277:5: error: ‘for’ loop initial declarations are only allowed in C99 mode |
|
| 58 | + for(int i = 0; i < sizeof(signature); i++) |
|
| 59 | + ^ |
|
| 60 | + make: *** [main.o] Error 1 |
|
| 61 | + |
|
| 62 | + |
|
| 63 | +## A1 |
|
| 64 | + |
|
| 65 | +Enable C99 mode in your compiler |
|
| 66 | + |
|
| 67 | +Add -std=c99 (or -std=gnu99) to your gcc or make command: |
|
| 68 | + |
|
| 69 | + make CFLAGS="-std=c99" |
|
| 70 | + |
|
| 71 | +## Q2 |
|
| 72 | + |
|
| 73 | + vb@ubuntu14:~/xfel$ make CFLAGS="-std=c99" |
|
| 74 | + [CC] main.c |
|
| 75 | + [CC] misc.c |
|
| 76 | + [CC] progress.c |
|
| 77 | + [CC] sha256.c |
|
| 78 | + [CC] spinand.c |
|
| 79 | + spinand.c: In function ‘spinand_reset’: |
|
| 80 | + spinand.c:207:2: warning: implicit declaration of function ‘usleep’ [-Wimplicit-function-declaration] |
|
| 81 | + usleep(100 * 1000); |
|
| 82 | + ^ |
|
| 83 | + [CC] spinor.c |
|
| 84 | + [CC] chips/a10.c |
|
| 85 | + [CC] chips/a13_a10s_r8.c |
|
| 86 | + [CC] chips/a20.c |
|
| 87 | + [CC] chips/a23.c |
|
| 88 | + [CC] chips/a31.c |
|
| 89 | + [CC] chips/a33_r16.c |
|
| 90 | + [CC] chips/a40i_r40.c |
|
| 91 | + [CC] chips/a50.c |
|
| 92 | + [CC] chips/a523_a527_t527.c |
|
| 93 | + [CC] chips/a537_a333.c |
|
| 94 | + [CC] chips/a64.c |
|
| 95 | + [CC] chips/a733.c |
|
| 96 | + [CC] chips/a80.c |
|
| 97 | + [CC] chips/a83t.c |
|
| 98 | + [CC] chips/d1_f133.c |
|
| 99 | + [CC] chips/f1c100s_f1c200s_f1c500s.c |
|
| 100 | + [CC] chips/h135.c |
|
| 101 | + [CC] chips/h2_h3.c |
|
| 102 | + chips/h2_h3.c: In function ‘chip_sid’: |
|
| 103 | + chips/h2_h3.c:25:3: error: initializer element is not constant |
|
| 104 | + cpu_to_le32(0xe59f0040), /* 0: ldr r0, [pc, #64] */ |
|
| 105 | + ^ |
|
| 106 | + chips/h2_h3.c:25:3: error: (near initialization for ‘payload[0]’) |
|
| 107 | + chips/h2_h3.c:26:3: error: initializer element is not constant |
|
| 108 | + cpu_to_le32(0xe3a01000), /* 4: mov r1, #0 */ |
|
| 109 | + ^ |
|
| 110 | + chips/h2_h3.c:26:3: error: (near initialization for ‘payload[1]’) |
|
| 111 | + chips/h2_h3.c:27:3: error: initializer element is not constant |
|
| 112 | + cpu_to_le32(0xe28f303c), /* 8: add r3, pc, #60 */ |
|
| 113 | + ^ |
|
| 114 | + chips/h2_h3.c:27:3: error: (near initialization for ‘payload[2]’) |
|
| 115 | + chips/h2_h3.c:29:3: error: initializer element is not constant |
|
| 116 | + cpu_to_le32(0xe1a02801), /* c: lsl r2, r1, #16 */ |
|
| 117 | + ^ |
|
| 118 | + chips/h2_h3.c:29:3: error: (near initialization for ‘payload[3]’) |
|
| 119 | + chips/h2_h3.c:30:3: error: initializer element is not constant |
|
| 120 | + cpu_to_le32(0xe3822b2b), /* 10: orr r2, r2, #44032 */ |
|
| 121 | + ^ |
|
| 122 | + chips/h2_h3.c:30:3: error: (near initialization for ‘payload[4]’) |
|
| 123 | + chips/h2_h3.c:31:3: error: initializer element is not constant |
|
| 124 | + cpu_to_le32(0xe3822002), /* 14: orr r2, r2, #2 */ |
|
| 125 | + ^ |
|
| 126 | + chips/h2_h3.c:31:3: error: (near initialization for ‘payload[5]’) |
|
| 127 | + chips/h2_h3.c:32:3: error: initializer element is not constant |
|
| 128 | + cpu_to_le32(0xe5802040), /* 18: str r2, [r0, #64] */ |
|
| 129 | + ^ |
|
| 130 | + chips/h2_h3.c:32:3: error: (near initialization for ‘payload[6]’) |
|
| 131 | + chips/h2_h3.c:34:3: error: initializer element is not constant |
|
| 132 | + cpu_to_le32(0xe5902040), /* 1c: ldr r2, [r0, #64] */ |
|
| 133 | + ^ |
|
| 134 | + chips/h2_h3.c:34:3: error: (near initialization for ‘payload[7]’) |
|
| 135 | + chips/h2_h3.c:35:3: error: initializer element is not constant |
|
| 136 | + cpu_to_le32(0xe3120002), /* 20: tst r2, #2 */ |
|
| 137 | + ^ |
|
| 138 | + chips/h2_h3.c:35:3: error: (near initialization for ‘payload[8]’) |
|
| 139 | + chips/h2_h3.c:36:3: error: initializer element is not constant |
|
| 140 | + cpu_to_le32(0x1afffffc), /* 24: bne 1c <sid_read_wait> */ |
|
| 141 | + ^ |
|
| 142 | + chips/h2_h3.c:36:3: error: (near initialization for ‘payload[9]’) |
|
| 143 | + chips/h2_h3.c:37:3: error: initializer element is not constant |
|
| 144 | + cpu_to_le32(0xe5902060), /* 28: ldr r2, [r0, #96] */ |
|
| 145 | + ^ |
|
| 146 | + chips/h2_h3.c:37:3: error: (near initialization for ‘payload[10]’) |
|
| 147 | + chips/h2_h3.c:38:3: error: initializer element is not constant |
|
| 148 | + cpu_to_le32(0xe7832001), /* 2c: str r2, [r3, r1] */ |
|
| 149 | + ^ |
|
| 150 | + chips/h2_h3.c:38:3: error: (near initialization for ‘payload[11]’) |
|
| 151 | + chips/h2_h3.c:39:3: error: initializer element is not constant |
|
| 152 | + cpu_to_le32(0xe2811004), /* 30: add r1, r1, #4 */ |
|
| 153 | + ^ |
|
| 154 | + chips/h2_h3.c:39:3: error: (near initialization for ‘payload[12]’) |
|
| 155 | + chips/h2_h3.c:40:3: error: initializer element is not constant |
|
| 156 | + cpu_to_le32(0xe3510010), /* 34: cmp r1, #16 */ |
|
| 157 | + ^ |
|
| 158 | + chips/h2_h3.c:40:3: error: (near initialization for ‘payload[13]’) |
|
| 159 | + chips/h2_h3.c:41:3: error: initializer element is not constant |
|
| 160 | + cpu_to_le32(0x3afffff3), /* 38: bcc c <sid_read_loop> */ |
|
| 161 | + ^ |
|
| 162 | + chips/h2_h3.c:41:3: error: (near initialization for ‘payload[14]’) |
|
| 163 | + chips/h2_h3.c:42:3: error: initializer element is not constant |
|
| 164 | + cpu_to_le32(0xe3a02000), /* 3c: mov r2, #0 */ |
|
| 165 | + ^ |
|
| 166 | + chips/h2_h3.c:42:3: error: (near initialization for ‘payload[15]’) |
|
| 167 | + chips/h2_h3.c:43:3: error: initializer element is not constant |
|
| 168 | + cpu_to_le32(0xe5802040), /* 40: str r2, [r0, #64] */ |
|
| 169 | + ^ |
|
| 170 | + chips/h2_h3.c:43:3: error: (near initialization for ‘payload[16]’) |
|
| 171 | + chips/h2_h3.c:44:3: error: initializer element is not constant |
|
| 172 | + cpu_to_le32(0xe12fff1e), /* 44: bx lr */ |
|
| 173 | + ^ |
|
| 174 | + chips/h2_h3.c:44:3: error: (near initialization for ‘payload[17]’) |
|
| 175 | + chips/h2_h3.c:45:3: error: initializer element is not constant |
|
| 176 | + cpu_to_le32(0x01c14000), /* SID base addr */ |
|
| 177 | + ^ |
|
| 178 | + chips/h2_h3.c:45:3: error: (near initialization for ‘payload[18]’) |
|
| 179 | + make: *** [chips/h2_h3.o] Error 1 |
|
| 180 | + |
|
| 181 | +## A2 |
|
| 182 | + |
|
| 183 | +- [[ubuntu-14-dat]] |
|
| 184 | + |
SDK-dat/Xboot-dat/xfel-dat/2025-08-08-12-52-33.png
| ... | ... | Binary files /dev/null and b/SDK-dat/Xboot-dat/xfel-dat/2025-08-08-12-52-33.png differ |
SDK-dat/Xboot-dat/xfel-dat/xfel-dat.md
| ... | ... | @@ -0,0 +1,63 @@ |
| 1 | + |
|
| 2 | +# xfel-dat |
|
| 3 | + |
|
| 4 | +- [[ubuntu-dat]] |
|
| 5 | + |
|
| 6 | +Usually comes with the xboot tools: |
|
| 7 | + |
|
| 8 | + git clone https://github.com/xboot/xfel.git |
|
| 9 | + cd xfel |
|
| 10 | + make |
|
| 11 | + |
|
| 12 | +- [[C-dat]] |
|
| 13 | + |
|
| 14 | +[discussion CN ](https://whycan.com/t_6546.html) |
|
| 15 | + |
|
| 16 | +https://github.com/xboot/xfel |
|
| 17 | + |
|
| 18 | + |
|
| 19 | +## for F133-A |
|
| 20 | + |
|
| 21 | +xfel version |
|
| 22 | + |
|
| 23 | + |
|
| 24 | + |
|
| 25 | + |
|
| 26 | + |
|
| 27 | +## Overview |
|
| 28 | + |
|
| 29 | +| Feature | `sunxi-fel` | `xfel` | |
|
| 30 | +|---------------------------|----------------------------------------------|------------------------------------------------| |
|
| 31 | +| Origin | Part of **sunxi-tools** (by linux-sunxi) | Part of **xboot** (by xboot developers) | |
|
| 32 | +| Language | C | C (standalone, simplified) | |
|
| 33 | +| Compatibility | Many Allwinner SoCs (A10, A20, H3, A64, etc.)| Primarily designed for **Allwinner D1 / D1s** | |
|
| 34 | +| Use Case | General FEL access, u-boot, RAM boot | Simplified D1 booting, xboot-specific flashing | |
|
| 35 | +| Device Support | Broad SoC support (A-series, H-series) | Mostly tested on D1, D1s (RISC-V) | |
|
| 36 | +| Features | Read/write memory, boot u-boot, script exec | Load boot package, run xboot, SPI flash, etc. | |
|
| 37 | +| Dependencies | Requires `libusb` | Self-contained | |
|
| 38 | +| Project Maturity | Older, well-established | Newer, focused on xboot platform | |
|
| 39 | +| Command Interface | CLI | CLI | |
|
| 40 | + |
|
| 41 | +--- |
|
| 42 | + |
|
| 43 | +## ✅ When to Use What |
|
| 44 | + |
|
| 45 | +| Situation | Recommended Tool | |
|
| 46 | +|----------|------------------| |
|
| 47 | +| Working with legacy Allwinner ARM SoCs (e.g. A10, A20, A64, H3) | `sunxi-fel` | |
|
| 48 | +| Using D1 / D1s (RISC-V) board, especially with xboot or SDKs | `xfel` | |
|
| 49 | +| Booting board into RAM for development/recovery | Either, but `sunxi-fel` is more general | |
|
| 50 | +| Flashing an XBoot-based firmware to D1s | `xfel` | |
|
| 51 | + |
|
| 52 | + |
|
| 53 | +### Using `xfel` (D1/D1s with xboot): |
|
| 54 | + |
|
| 55 | +```bash |
|
| 56 | +xfel ddr d1s_ddr.bin |
|
| 57 | +xfel write 0x40000000 xboot.bin |
|
| 58 | +xfel exec 0x40000000 |
|
| 59 | +``` |
|
| 60 | + |
|
| 61 | +## ref |
|
| 62 | + |
|
| 63 | +- [[sunxi-tools-dat]] |
|
| ... | ... | \ No newline at end of file |
SDK-dat/allwinner-SDK-dat/allwinner-SDK-dat.md
| ... | ... | @@ -1,6 +1,10 @@ |
| 1 | 1 | |
| 2 | 2 | # allwinner-SDK-dat.md |
| 3 | 3 | |
| 4 | +- [[xboot-dat]] - [[xfel-dat]] |
|
| 5 | + |
|
| 6 | +- [[TINA-dat]] |
|
| 7 | + |
|
| 4 | 8 | ## compile |
| 5 | 9 | |
| 6 | 10 |  |
| ... | ... | @@ -31,10 +35,29 @@ |
| 31 | 35 | (3)PhoenixUSBpro:基于Windows的系统的烧写工具,通过数据线将PC和开发板连接,把固件烧到开发板上,一台PC可同时连接8台设备,分别控制其进行烧写,适用于产线批量生产。(如下图) |
| 32 | 36 | |
| 33 | 37 | |
| 38 | +## repo |
|
| 39 | + |
|
| 40 | + |
|
| 41 | +- https://github.com/Edragon/allwinner == [[T113-dat]] |
|
| 42 | +- https://github.com/Edragon/Allwinner-V831 |
|
| 43 | +- https://github.com/Edragon/allwinner-nano |
|
| 44 | + |
|
| 45 | +- https://bitbucket.org/e_dragon/allwinner-f1c200s-hdk |
|
| 46 | +- https://bitbucket.org/e_dragon/allwinner-f1c200s-sdk |
|
| 47 | +- https://bitbucket.org/e_dragon/allwinner-h2 |
|
| 48 | +- https://bitbucket.org/e_dragon/allwinner-v3s-sdk |
|
| 49 | + |
|
| 50 | +- https://github.com/lindenis-org |
|
| 51 | + |
|
| 52 | +- https://gitlab.com/dongshanpi/tools |
|
| 53 | +- https://gitlab.com/users/dongshanpi/projects |
|
| 54 | + |
|
| 34 | 55 | |
| 35 | 56 | |
| 36 | 57 | |
| 37 | 58 | |
| 38 | 59 | ## ref |
| 39 | 60 | |
| 40 | -- [[allwinner-dat]] - [[TINA-dat]] - [[SDK-dat]] |
|
| ... | ... | \ No newline at end of file |
| 0 | +- [[allwinner-dat]] - [[TINA-dat]] - [[SDK-dat]] |
|
| 1 | + |
|
| 2 | +- [[allwinner-SDK]] - [[allwinner]] - [[SDK]] |
|
| ... | ... | \ No newline at end of file |
SDK-dat/ubuntu-dat/ubuntu-14-dat.md
| ... | ... | @@ -0,0 +1,16 @@ |
| 1 | + |
|
| 2 | +# ubuntu-14-dat.md |
|
| 3 | + |
|
| 4 | +Ubuntu 14 is **very old** (GCC 4.8 by default), and newer GCC versions may be more tolerant. Consider: |
|
| 5 | + |
|
| 6 | +```bash |
|
| 7 | +sudo add-apt-repository ppa:ubuntu-toolchain-r/test |
|
| 8 | +sudo apt update |
|
| 9 | +sudo apt install gcc-7 g++-7 |
|
| 10 | +export CC=gcc-7 |
|
| 11 | +make clean && make |
|
| 12 | +``` |
|
| 13 | + |
|
| 14 | +## ref |
|
| 15 | + |
|
| 16 | +- [[ubuntu-dat]] |
SDK-dat/virtualbox-dat/virtualbox-dat.md
| ... | ... | @@ -5,6 +5,9 @@ |
| 5 | 5 | |
| 6 | 6 | - [[TINA-dat]] |
| 7 | 7 | |
| 8 | +- [[C-dat]] |
|
| 9 | + |
|
| 10 | + |
|
| 8 | 11 | ## install |
| 9 | 12 | |
| 10 | 13 | 下载安装 |
| ... | ... | @@ -21,13 +24,13 @@ VirtualBox安装Ubuntu |
| 21 | 24 | |
| 22 | 25 | 参考链接: Oracle VM VirtualBox安装Ubuntu14.04环境的教程: https://blog.csdn.net/weixin_42135087/article/details/108193641 |
| 23 | 26 | |
| 24 | -增强功能 |
|
| 27 | +## 增强功能 |
|
| 25 | 28 | |
| 26 | 29 | 安装增强功能可以实现共享剪切板功能共享文件夹功能。共享粘贴板可在PC和虚拟机之间互相粘贴复制内容。文件夹共享可以在本地主机下创建一个文件夹,然后VirtualBOX将该文件夹映射到虚拟机下指定的文件夹中,这样我们就可以访问该文件夹下的子文件夹以及文件了。这两个功能都能极大地提高我们的开发效率 |
| 27 | 30 | |
| 28 | 31 | 注意: 在共享文件夹的路径中如果是挂在的windows系统的文件夹,可能无法成功地下载Tina的SDK代码,注意SDK的下载目录不要设置在共享文件夹中。 |
| 29 | 32 | |
| 30 | -安装增强功能的方法 |
|
| 33 | +### 安装增强功能的方法 |
|
| 31 | 34 | |
| 32 | 35 | 方法一: 点击虚拟机界面上面菜单栏的【设备】--【安装增强功能】。然后可以看到在虚拟机的光驱中自动加载了增强iso的文件(VBoxGuestAdditions.iso),点击【Run】运行按钮。接着按虚拟机所指引步骤进行即可。 |
| 33 | 36 |
SDK-dat/xfel-dat/2025-08-08-12-52-33.png
| ... | ... | Binary files a/SDK-dat/xfel-dat/2025-08-08-12-52-33.png and /dev/null differ |
SDK-dat/xfel-dat/xfel-dat.md
| ... | ... | @@ -1,54 +0,0 @@ |
| 1 | - |
|
| 2 | -# xfel-dat |
|
| 3 | - |
|
| 4 | -Usually comes with the xboot tools: |
|
| 5 | - |
|
| 6 | - git clone https://github.com/xboot/xfel.git |
|
| 7 | - cd xfel |
|
| 8 | - make |
|
| 9 | - |
|
| 10 | -## for F133-A |
|
| 11 | - |
|
| 12 | -xfel version |
|
| 13 | - |
|
| 14 | - |
|
| 15 | - |
|
| 16 | - |
|
| 17 | - |
|
| 18 | -## Overview |
|
| 19 | - |
|
| 20 | -| Feature | `sunxi-fel` | `xfel` | |
|
| 21 | -|---------------------------|----------------------------------------------|------------------------------------------------| |
|
| 22 | -| Origin | Part of **sunxi-tools** (by linux-sunxi) | Part of **xboot** (by xboot developers) | |
|
| 23 | -| Language | C | C (standalone, simplified) | |
|
| 24 | -| Compatibility | Many Allwinner SoCs (A10, A20, H3, A64, etc.)| Primarily designed for **Allwinner D1 / D1s** | |
|
| 25 | -| Use Case | General FEL access, u-boot, RAM boot | Simplified D1 booting, xboot-specific flashing | |
|
| 26 | -| Device Support | Broad SoC support (A-series, H-series) | Mostly tested on D1, D1s (RISC-V) | |
|
| 27 | -| Features | Read/write memory, boot u-boot, script exec | Load boot package, run xboot, SPI flash, etc. | |
|
| 28 | -| Dependencies | Requires `libusb` | Self-contained | |
|
| 29 | -| Project Maturity | Older, well-established | Newer, focused on xboot platform | |
|
| 30 | -| Command Interface | CLI | CLI | |
|
| 31 | - |
|
| 32 | ---- |
|
| 33 | - |
|
| 34 | -## ✅ When to Use What |
|
| 35 | - |
|
| 36 | -| Situation | Recommended Tool | |
|
| 37 | -|----------|------------------| |
|
| 38 | -| Working with legacy Allwinner ARM SoCs (e.g. A10, A20, A64, H3) | `sunxi-fel` | |
|
| 39 | -| Using D1 / D1s (RISC-V) board, especially with xboot or SDKs | `xfel` | |
|
| 40 | -| Booting board into RAM for development/recovery | Either, but `sunxi-fel` is more general | |
|
| 41 | -| Flashing an XBoot-based firmware to D1s | `xfel` | |
|
| 42 | - |
|
| 43 | - |
|
| 44 | -### Using `xfel` (D1/D1s with xboot): |
|
| 45 | - |
|
| 46 | -```bash |
|
| 47 | -xfel ddr d1s_ddr.bin |
|
| 48 | -xfel write 0x40000000 xboot.bin |
|
| 49 | -xfel exec 0x40000000 |
|
| 50 | -``` |
|
| 51 | - |
|
| 52 | -## ref |
|
| 53 | - |
|
| 54 | -- [[sunxi-tools-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/SBC-dat/SBC-dat.md
| ... | ... | @@ -4,16 +4,19 @@ |
| 4 | 4 | |
| 5 | 5 | - Beaglebone Black |
| 6 | 6 | |
| 7 | -- [[RPI-dat]] - [[OPI-DAT]] |
|
| 7 | +- [[RPI-dat]] |
|
| 8 | + |
|
| 9 | +- [[OPI-DAT]] |
|
| 8 | 10 | |
| 9 | 11 | - [[rockchip-dat]] - [[RK3588-dat]] - [[RK3506-dat]] - [[RV1103-dat]] |
| 10 | 12 | |
| 11 | -- [[mediatek-dat]] - [[MT7628-dat]] - [[MT7688-dat]] - [[MT7620-dat]] |
|
| 13 | +- [[allwinner-dat]] - [[H618-dat]] - [[allwinner-D1-dat]] - [[V3S-dat]] - [[F1C100-dat]] |
|
| 12 | 14 | |
| 13 | -- [[BTT-DAT]] |
|
| 15 | +- [[i.MX6ULL-dat]] |
|
| 14 | 16 | |
| 15 | -- [[allwinner-dat]] - [[V3S-dat]] - [[F1C100-dat]] |
|
| 17 | +- [[BTT-DAT]] |
|
| 16 | 18 | |
| 19 | +- [[mediatek-dat]] - [[MT7628-dat]] - [[MT7688-dat]] - [[MT7620-dat]] |
|
| 17 | 20 | |
| 18 | 21 | |
| 19 | 22 | ## Compare |