sipeed / platform-gd32v

GD32V: development platform for PlatformIO
https://registry.platformio.org/platforms/platformio/gd32v
Other
183 stars 46 forks source link

Platformio can't install platform #40

Open albydnc opened 1 year ago

albydnc commented 1 year ago

Hello,

I have tried to install the platformio platform but I can't.

This is the error I get:

Tool Manager: Installing platformio/toolchain-gd32v @ ~9.2.0
Error: You do not have permission for this request
Osirisoo0O commented 1 year ago

Error: You do not have permission for this request

Because you can't find this package in PlatformIO Registry. You can manually add this package. image image

albydnc commented 1 year ago
pio platform install gd32v

WARNING: This command is deprecated and will be removed in the next releases. 
Please use `pio pkg install` instead.

Platform Manager: gd32v@1.3.0 is already installed
Tool Manager: Installing platformio/toolchain-gd32v @ ~9.2.0
HTTPClientError: You do not have permission for this request

even manually it does not work

maxgerhardt commented 1 year ago

Worked on per https://community.platformio.org/t/i-am-unable-to-install-sipeed-longan-nano-gd32v/34758

masebb commented 1 year ago

any update for this?

RideMyByte commented 11 months ago

it doesn't work for me either. after a few hours and lots of trying back and forth it still doesn't work... is there anyone with a workaround? 20 Longan Nanos arrived today xD

masebb commented 11 months ago

I have temporally solution for this issue

There dependency files cant download from sipeed's server cause install error are almost found on sipeed's Sourceforge( https://sourceforge.net/projects/platformio-storage/files/packages/ ) so download it and to use @ to use local file in platformio.ini

platform_packages = framework-arduino-gd32v @ https://github.com/sipeed/Longduino.git
                    toolchain-gd32v @ file://.\files\toolchain-gd32v
                    tool-openocd-gd32v @ file://.\files\tool-openocd-gd32v
                    tool-gd32vflash @ file://.\files\tool-gd32vflash
Full platformio.ini worked in my env ```ini [env:sipeed-longan-nano] platform = gd32v board = sipeed-longan-nano framework = gd32vf103-sdk platform_packages = framework-arduino-gd32v @ https://github.com/sipeed/Longduino.git toolchain-gd32v @ file://.\files\toolchain-gd32v tool-openocd-gd32v @ file://.\files\tool-openocd-gd32v tool-gd32vflash @ file://.\files\tool-gd32vflash upload_protocol = dfu ```
RideMyByte commented 10 months ago

Thank you very much for your answer! That helps me a lot. I also had to integrate the framework locally. Here is my version:

[env:sipeed-longan-nano]
platform = gd32v
board = sipeed-longan-nano
framework = gd32vf103-sdk @ file://lib\framework-gd32vf103-sdk
platform_packages = framework-arduino-gd32v @ https://github.com/sipeed/Longduino.git
                    toolchain-gd32v @ file://lib\toolchain-gd32v-windows_x86-9.2.0
                    tool-openocd-gd32v @ file://lib\tool-openocd-gd32v-windows_x86-0.1.1
                    tool-gd32vflash @ file://lib\tool-gd32vflash-windows-0.1.0
upload_protocol = dfu

However, it still throws this error: MissingPackageManifestError: Could not find one of 'library.json, library.properties, module.json' manifest files in the package

I am trying to debug the following project: https://github.com/vonkonow/LEET-Modular

Many thanks and best regards Mario

maxgerhardt commented 10 months ago

Do not put it in the lib/ folder of the project, create a new folder for it (e.g. packages) and reference that path. lib/ is for libraries, not packages.

RideMyByte commented 10 months ago

Super nice of you to help so quickly :) now that the libs are in a different folder, I no longer get the error :) But a new one: Error: This board doesn't support gd32vf103-sdk @ https://github.com/RideMyByte/GD32VF103_Firmware_Library.git framework!

My platformio.ini looks like this:

[env:sipeed-longan-nano]
platform = gd32v
board = sipeed-longan-nano
framework = gd32vf103-sdk @ https://github.com/RideMyByte/GD32VF103_Firmware_Library.git
platform_packages = 
    framework-arduino-gd32v @ https://github.com/sipeed/Longduino.git
    toolchain-gd32v @ file://packages\toolchain-gd32v-windows_x86-9.2.0
    tool-openocd-gd32v @ file://packages\tool-openocd-gd32v-windows_x86-0.1.1
    tool-gd32vflash @ file://packages\tool-gd32vflash-windows-0.1.0
upload_protocol = dfu

Is this perhaps the wrong framework? I have forked it and added the package.json: package.json

If any of you still have the "gd32vf103-sdk" installed, could you upload the folder as a zip? or are there sources on the web?

Best regards and many thanks!

maxgerhardt commented 10 months ago

framework = gd32vf103-sdk @ https://github.com/RideMyByte/GD32VF103_Firmware_Library.git

That is not valid. The framework can only be the principal value, like gd32vf103-sdk, arduino, et cetara. Per

https://github.com/sipeed/platform-gd32v/blob/7889775b85e3eddc9aebea4e9278a5d666c06ca3/platform.json#L43-L48

the package for it is called framework-gd32vf103-sdk and you should add your custom source for it in the platform_packages list. If you use that framework, you may also not need framework-arduino-gd32v.

RideMyByte commented 10 months ago

Okay. Many, many hours later.

The Platformio.ini works, I have placed the firmware and co in the "package" folder. In the C compiler I have entered ${workspaceFolder}/packages/**. Before I had the error that "gd32vf103.h" was not found. Now the file is found and included.

At the end of "gd32vf103.h" is written: #include "gd32vf103_libopt.h"

This file is located in "packages\framework-gd32vf103-sdk\Examples\ADC\ADC0_ADC1_regular_parallel". Because I recursively include the workspace folder above and the examples are also in the package folder, VSC does not issue an error. If I then click "Start Debugging", the following errors appear:

Processing sipeed-longan-nano (platform: gd32v; board: sipeed-longan-nano; framework: gd32vf103-sdk)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/gd32v/sipeed-longan-nano.html
PLATFORM: GigaDevice GD32V (1.3.0+sha.25c97ad) > Sipeed Longan Nano
HARDWARE: GD32VF103CBT6 108MHz, 32KB RAM, 128KB Flash
DEBUG: Current (altera-usb-blaster) External (altera-usb-blaster, gd-link, jlink, rv-link, sipeed-rv-debugger, um232h)
PACKAGES: 
 - framework-gd32vf103-sdk @ 1.0.1+sha.3d0e2a7 
 - tool-dfuutil @ 1.11.0 
 - tool-gd32vflash @ 0.1.0 
 - tool-openocd-gd32v @ 0.1.1 
 - toolchain-gd32v @ 9.2.0
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 0 compatible libraries
Scanning dependencies...
No dependencies
Building in debug mode
Compiling .pio\build\sipeed-longan-nano\src\data\font.o
Compiling .pio\build\sipeed-longan-nano\src\data\frequency.o
Compiling .pio\build\sipeed-longan-nano\src\data\images.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\SysTick.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\adc.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\display.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\encoder.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\spi.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\timer.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\usbfs\drv_usb_core.o
Compiling .pio\build\sipeed-longan-nano\src\drivers\usbfs\drv_usb_dev.o
In file included from src\data\font.cpp:3:
C:\Users\Mario\.platformio\packages\framework-gd32vf103-sdk\GD32VF103_standard_peripheral/gd32vf103.h:239:10: fatal error: gd32vf103_libopt.h: No such file or directory

The _libopt.h is not found. VSC obviously recognizes the files. I do not understand it.

I think I'm slowly giving up :-D Too bad. I have enough hardware flying around to build 20 synthesizers and give them away... well... maybe someday when I understand it...

If someone knows how to do it, I would be very happy...

best regards Mario

maxgerhardt commented 10 months ago

gd32vf103_libopt.h

That file is a a standard file that includes the activated SPL modules, or, just all of them. You can just copy-paste gd32vf103_libopt.h into the include/ folder of your project and add build_flags = -Iinclude to the platformio.ini for it to be able to be found.