|
4 | 4 | import json |
5 | 5 |
|
6 | 6 | def BuildFlashMenu(name, chip, flashsize, fssizelist): |
7 | | - if (chip == "rp2350") or (chip == 'rp2350-riscv'): |
| 7 | + if chip == "rp2350": |
8 | 8 | delta = 8192 |
9 | 9 | elif chip == "rp2040": |
10 | 10 | delta = 4096 |
@@ -48,6 +48,20 @@ def BuildFreq(name, defmhz): |
48 | 48 | print("%s.menu.freq.%s=%s MHz%s" % (name, f, f, warn)) |
49 | 49 | print("%s.menu.freq.%s.build.f_cpu=%dL" % (name, f, f * 1000000)) |
50 | 50 |
|
| 51 | +def BuildArch(name): |
| 52 | + # Cortex M-33 |
| 53 | + print("%s.menu.arch.arm=ARM" % (name)) |
| 54 | + print("%s.menu.arch.arm.build.chip=%s" % (name, "rp2350")) |
| 55 | + print("%s.menu.arch.arm.build.toolchain=arm-none-eabi" % (name)) |
| 56 | + print("%s.menu.arch.arm.build.toolchainopts=-mcpu=cortex-m33 -mthumb -march=armv8-m.main+fp+dsp -mfloat-abi=softfp -mcmse" % (name)) |
| 57 | + print("%s.menu.arch.arm.build.uf2family=--family rp2350-arm-s --abs-block" % (name)) |
| 58 | + # RISC-V Hazard3 |
| 59 | + print("%s.menu.arch.riscv=RISC-V" % (name)) |
| 60 | + print("%s.menu.arch.riscv.build.chip=%s" % (name, "rp2350-riscv")) |
| 61 | + print("%s.menu.arch.riscv.build.toolchain=riscv32-unknown-elf" % (name)) |
| 62 | + print("%s.menu.arch.riscv.build.toolchainopts=-march=rv32imac_zicsr_zifencei_zba_zbb_zbs_zbkb -mabi=ilp32" % (name)) |
| 63 | + print("%s.menu.arch.riscv.build.uf2family=--family rp2350-riscv --abs-block" % (name)) |
| 64 | + |
51 | 65 | def BuildPSRAM(name): |
52 | 66 | for s in [ 0, 2, 4, 8]: |
53 | 67 | print("%s.menu.psram.%dmb=%dMByte PSRAM" % (name, s, s)) |
@@ -222,16 +236,11 @@ def BuildHeader(name, chip, chaintuple, chipoptions, vendor_name, product_name, |
222 | 236 | print("%s.build.usbpwr=-DUSBD_MAX_POWER_MA=%s" % (name, pwr)) |
223 | 237 | print("%s.build.board=%s" % (name, boarddefine)) |
224 | 238 | # print("%s.build.mcu=cortex-m0plus" % (name)) |
225 | | - print("%s.build.chip=%s" % (name, chip)) |
226 | | - print("%s.build.toolchain=%s" % (name, chaintuple)) |
227 | | - print("%s.build.toolchainopts=%s" % (name, chipoptions)) |
228 | | - if chip == "rp2350": |
229 | | - uf2family = "--family rp2350-arm-s --abs-block" |
230 | | - elif chip == "rp2350-riscv": |
231 | | - uf2family = "--family rp2350-riscv --abs-block" |
232 | | - elif chip == "rp2040": |
233 | | - uf2family = "--family rp2040" |
234 | | - print("%s.build.uf2family=%s" % (name, uf2family)) |
| 239 | + if chip == "rp2040": # RP2350 has menu for this later on |
| 240 | + print("%s.build.chip=%s" % (name, chip)) |
| 241 | + print("%s.build.toolchain=%s" % (name, chaintuple)) |
| 242 | + print("%s.build.toolchainopts=%s" % (name, chipoptions)) |
| 243 | + print("%s.build.uf2family=%s" % (name, "--family rp2040")) |
235 | 244 | print("%s.build.variant=%s" % (name, variant)) |
236 | 245 | print("%s.upload.maximum_size=%d" % (name, flashsize)) |
237 | 246 | print("%s.upload.wait_for_upload_port=true" % (name)) |
@@ -267,6 +276,7 @@ def BuildGlobalMenuList(): |
267 | 276 | print("menu.psram=PSRAM Size") |
268 | 277 | print("menu.psramfreq=PSRAM Speed") |
269 | 278 | print("menu.freq=CPU Speed") |
| 279 | + print("menu.arch=CPU Architecture") |
270 | 280 | print("menu.opt=Optimize") |
271 | 281 | print("menu.rtti=RTTI") |
272 | 282 | print("menu.stackprotect=Stack Protector") |
@@ -322,6 +332,7 @@ def MakeBoard(name, chip, vendor_name, product_name, vid, pid, pwr, boarddefine, |
322 | 332 | else: |
323 | 333 | BuildFlashMenu(name, chip, flashsizemb * 1024 * 1024, fssizelist) |
324 | 334 | if (chip == "rp2350") or (chip == "rp2350-riscv"): |
| 335 | + BuildArch(name) |
325 | 336 | BuildFreq(name, 150) |
326 | 337 | if name == "generic_rp2350": |
327 | 338 | BuildRP2350Variant(name) |
@@ -457,7 +468,6 @@ def MakeBoardJSON(name, chip, vendor_name, product_name, vid, pid, pwr, boarddef |
457 | 468 | MakeBoard("rpipico", "rp2040", "Raspberry Pi", "Pico", "0x2e8a", "0x000a", 250, "RASPBERRY_PI_PICO", 2, 0, "boot2_w25q080_2_padded_checksum") |
458 | 469 | MakeBoard("rpipicow", "rp2040", "Raspberry Pi", "Pico W", "0x2e8a", "0xf00a", 250, "RASPBERRY_PI_PICO_W", 2, 0, "boot2_w25q080_2_padded_checksum") |
459 | 470 | MakeBoard("rpipico2", "rp2350", "Raspberry Pi", "Pico 2", "0x2e8a", "0x000f", 250, "RASPBERRY_PI_PICO_2", 4, 0, "none") |
460 | | -MakeBoard("rpipico2rv", "rp2350-riscv", "Raspberry Pi", "Pico 2 RISC-V", "0x2e8a", "0x000f", 250, "RASPBERRY_PI_PICO_2", 4, 0, "none") |
461 | 471 |
|
462 | 472 | # 0xCB |
463 | 473 | MakeBoard("0xcb_helios", "rp2040", "0xCB", "Helios", "0x1209", "0xCB74", 500, "0XCB_HELIOS", 16, 0, "boot2_w25q128jvxq_4_padded_checksum") |
|
0 commit comments