Je n'arrive pas à faire fonctionner la mémoire persistante sur mon raspberry pico

j’ai le même problème, je suis toujours dessus, si quelqu’un a une solution


# Generated Cmake Pico project file

cmake_minimum_required(VERSION 3.13)

set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_STANDARD 17)

# Initialise pico_sdk from installed location
# (note this can come from environment, CMake cache etc)
set(PICO_SDK_PATH "/mnt/e/Genoce/pico/pico-sdk")

set(PICO_BOARD pico CACHE STRING "Board type")

# Pull in Raspberry Pi Pico SDK (must be before project)
include(pico_sdk_import.cmake)

if (PICO_SDK_VERSION_STRING VERSION_LESS "1.4.0")
  message(FATAL_ERROR "Raspberry Pi Pico SDK version 1.4.0 (or later) required. Your version is ${PICO_SDK_VERSION_STRING}")
endif()

project(blinky C CXX ASM)
set(CMAKE_BUILD_TYPE Debug)

# Initialise the Raspberry Pi Pico SDK
pico_sdk_init()

# Add executable. Default name is the project name, version 0.1

add_executable(blinky blinky.c )

pico_set_program_name(blinky "blinky")
pico_set_program_version(blinky "0.1")

pico_enable_stdio_uart(blinky 1)
pico_enable_stdio_usb(blinky 1)

# Add the standard library to the build
target_link_libraries(blinky
        pico_stdlib)

# Add the standard include files to the build
target_include_directories(blinky PRIVATE
  ${CMAKE_CURRENT_LIST_DIR}
  ${CMAKE_CURRENT_LIST_DIR}/.. # for our common lwipopts or any other standard includes, if required
)

# Add any user requested libraries
target_link_libraries(blinky 
        )

pico_add_extra_outputs(blinky)


#include "pico/stdlib.h"
#include "hardware/gpio.h"

int main() {
    const uint LED_PIN = 13;
    
    gpio_init(LED_PIN);
    gpio_set_dir(LED_PIN, GPIO_OUT);
    
    while (true) {
        gpio_put(LED_PIN, 1);
        sleep_ms(100);
        gpio_put(LED_PIN, 0);
        sleep_ms(100);
    }
}

J'ai acheté une Mini USB RP2040. Lorsque je charge le programme pour la première fois, la LED clignote correctement. Cependant, après avoir débranché puis rebranché l'appareil, la LED cesse de clignoter.

En utilisant le moniteur série d'Arduino IDE, je constate qu'Arduino détecte l'appareil tant qu'il n'est pas débranché, et la LED continue de clignoter. Mais une fois rebranché, l'appareil n'est plus détecté, et la LED reste éteinte.

J'utilise bien la méthode BOOTSEL et je dépose le fichier blinky.uf2 dans l'espace de stockage de 128 Mo. Par ailleurs, je remarque qu'à chaque fois que je charge un nouveau fichier UF2, le précédent est effacé.

Es-tu certain d'avoir une configuration correcte pour cette carte?

Je ne suis pas sur de comprendre ce que c’est que la configuration mais j’ai trouvé une solution.
j'ai simplement ajouté cette ligne dans le cmakelists.txt:

add_compile_definitions(PICO_XOSC_STARTUP_DELAY_MULTIPLIER=64)

Bonjour,
La configuration c'est l'ensemble des paramètres que tu peux modifier dans le kit de développement. Tous ces paramètres sont fixés par défaut à des valeurs usuelles.
Dans ton cas le paramètre est STARTUP_DELAY. Ce paramètre fixe un temps pour permettre à l'oscillateur du processeur de démarrer et d'atteindre sa valeur optimale. Si des opérations sont effectuées sur le processeur alors que son oscillateur n'est pas encore fonctionnel, ces opérations échouent
Le temps d'établissement de l'oscillateur dépendant de la carte, le concepteur a ajouté un multiplicateur à STARTUP_DELAY qui est PICO_XOSC_STARTUP_DELAY_MULTIPLIER qui est à 1 par défaut. Le fait de lui passer la valeur 64 fait que l'oscillateur dispose de 64 fois plus de temps pour démarrer qu'il en a par défaut

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.