AnatolSher
AnatolSher - 认证专家
Lover of the ocean, yachts and Arduino

注册于 1年前

回答
25
文章
8
关注者
2

Hello! SDK for w80x is still at the conceptual stage in our team.
We have not yet thoroughly understood how this pie works :)) For HAL 0.6.0, extracting true random numbers was easy. You can see this technique in our Arduino core. Methods trng_init() and rng_Get(). There is no need for a special signal to generate a random number. A noise-like signal is generated on the cryptomodule crystal. There is a description of this in the datasheet.

May be connect like this:
Reset and BOOT (boot without capacitor)
image.png
WAKEUP
image.png

There must be some time between power up and reset. Pin PA0 on standard development boards is connected to power through a pullup resistor
See diagramm
image.png

Hello friends! This week I will check the compatibility of the Adafruit library for multi-channel PWM if I can quickly find the required chip (PCA9685). Unfortunately, I don’t have such a shield in my collection.
PS.
UOOU To clarify, draw how you connected the shield to the w80x board

In COMPATIBILITY_MODE, there won't be much performance gain. For w80x chips, there are two options to improve performance. The first is to use the SDIO->SPI driver, the second is to rewrite access to the SPI controller taking into account hardware capabilities. This may take a long time. The priority of our team is to adapt LVGL to our Arduino core. If we have free time, we will explore these fast libraries

Hello! I observed this behavior when I bought a batch of defective chips.
After installing working chips on the Air103 board, everything works well

Code for testing:

#include "Arduino.h"
// Tested on Air103 board with APS6404L-3SQR-SN chip
PSRAM_HandleTypeDef hpsram;
static void PSRAM_Init(void);
static uint8_t *psram_buf = (uint8_t *)PSRAM_ADDR_START;
void setup()
{
  Serial.begin(115200);
  PSRAM_Init();
}
void loop()
{
  uint8_t temp[100];
  int i = 0;
  memset(psram_buf, 0, 100);
  for(i = 0; i < 100; i++)
  {
    Serial.printf("%x ", psram_buf[i]);
  }
  Serial.printf("\r\n");
  for(i = 0; i < 100; i++)
  {
    temp[i] = i % 256;
  }

  memcpy(psram_buf, temp, 100);
  for(i = 0; i < 100; i++)
  {
    Serial.printf("%x ", psram_buf[i]);
  }
  Serial.printf("\r\n");
  delay(1000);
}

static void PSRAM_Init(void)
{
  __HAL_RCC_PSRAM_CLK_ENABLE();
  __HAL_RCC_GPIO_CLK_ENABLE();
  // For Air103
  __HAL_AFIO_REMAP_PSRAM_CS(GPIOB, GPIO_PIN_27);
  __HAL_AFIO_REMAP_PSRAM_CLK(GPIOA, GPIO_PIN_15);
  __HAL_AFIO_REMAP_PSRAM_D0(GPIOB, GPIO_PIN_2);
  __HAL_AFIO_REMAP_PSRAM_D1(GPIOB, GPIO_PIN_3);
  __HAL_AFIO_REMAP_PSRAM_D2(GPIOB, GPIO_PIN_4);
  __HAL_AFIO_REMAP_PSRAM_D3(GPIOB, GPIO_PIN_5);
  hpsram.Instance = PSRAM;
  hpsram.Init.Div = 3;
  hpsram.Init.Mode = PSRAM_MODE_QSPI;
  if (HAL_PSRAM_Init(&hpsram) != HAL_OK)
  {
    Serial.printf("Init error...\r\n");
  }
}

This code is based on HAL 0.6.0 and will work on w801

Don't worry. First, you must update the w80x arduino core. I posted the XT804.ZIP file in the "More Compatibility" article.
Then come back and show me your code.

Download the test case from BasicExamples - Gpio interrupts. Compilation will succeed
image.png

Expression AttachInterrupt(digitalPinToInterrupt(interruptPin), blink, CHANGE); - not correct. Enough of this:
image.png
Documentation mismatch found! Thank you
https://github.com/board707/w80x_arduino/issues/22#issue-1835001038

Hello! We have not yet explored in detail how LVGL works. But we made a simplified test of the SDIO-SPI driver and wrote a simple example of its use.
It is located in the SDIO-TFT_TEST folder. We are on vacation until autumn. Later we will continue intensive work on the Arduino core

Usually Russians are associated with the bear, vodka, balalaika, and Satan's nuclear missile. Google Translator amusingly translated the phrase 已有俄国大牛接手 as "A Russian bull has taken over" :))

发布
问题