quarta-feira, 31 de julho de 2024

MS52SF3 como OPENCPU

 MS52SF3 

Como já reportado no link abaixo

Modulo BLE master slave baixo custo com antena integrada - MS52SF3 - SmartCore - one stop shop para fabricantes de soluções em IoT, rastreamento, telemetria e conectividade

O mesmo já vem com o STACK com comandos AT.

Para a maioria dos módulos, há o firmware simples que os clientes podem usar diretamente. Outra é uma versão OPENCPU, que é para alguns clientes que podem programar seu próprio firmware, ou seja, em algumas situações o programador pode querer substituir o mesmo por uma aplicação OPENCPU.

Nomes no datasheet com "K" é um módulo aberto para o cliente programar seu próprio firmware. O "M" e "C" significam que o módulo que temos nosso próprio firmware pode suportar. "M" significa Mestre / Mestre-Escravo, e o "C" significa módulo Escravo.

Como OPENCPU,  precisa de uma ferramenta de programação para isto, recomenda-se então baixar o uVision V5.17.0.0 ou superior para compilar uma aplicação no MS52SF3.

MDK-ARM Version 5.40 Evaluation Software Request (keil.com) 

Deve também ter um gravador JLINK.

Baixe o arquivo N32WB03x_SDK_V1.3.1 e descompacte.Na pasta \N32WB03x_SDK_V1.3.1\projects\n32wb03x_EVAL escolha o exemplo que voce deseja compilar.

No caso, foi escolhido o exemplo com ADC

C:\N32WB03x_SDK_V1.3.1\projects\n32wb03x_EVAL\peripheral\ADC\ADC_SingleRead\MDK-ARM

Navegue até encontrar o projeto Keil (logo), click sobre.

├───firmware

│   ├───CMSIS

│   │   ├───core

│   │   └───device

│   │       └───startup

│   └───n32wb03x_std_periph_driver

│       ├───inc

│       └───src

├───middlewares

│   ├───Nationstech

│   │   └───ble_library

│   │       ├───ns_ble_profile

│   │       │   ├───anc

│   │       │   │   └───ancc

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───anp

│   │       │   │   ├───anpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───anps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───bas

│   │       │   │   ├───basc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───bass

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───bcs

│   │       │   │   ├───bcsc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───bcss

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───blp

│   │       │   │   ├───blpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───blps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───cgmp

│   │       │   │   ├───cgmc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───cgms

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───cpp

│   │       │   │   ├───cppc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───cpps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───cscp

│   │       │   │   ├───cscpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───cscps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───dis

│   │       │   │   ├───disc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───diss

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───find

│   │       │   │   ├───findl

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───findt

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───glp

│   │       │   │   ├───glpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───glps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───hogp

│   │       │   │   ├───hogpbh

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   ├───hogpd

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───hogprh

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───hrp

│   │       │   │   ├───hrpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───hrps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───htp

│   │       │   │   ├───htpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───htpt

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───lan

│   │       │   │   ├───lanc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───lans

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───ns_ius

│   │       │   │   └───ns_iuss

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───pasp

│   │       │   │   ├───paspc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───pasps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───plxp

│   │       │   │   ├───plxc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───plxs

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───prox

│   │       │   │   ├───proxm

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───proxr

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───rdts

│   │       │   │   ├───rdtsc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───rdtss

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───rscp

│   │       │   │   ├───rscpc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───rscps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───scpp

│   │       │   │   ├───scppc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───scpps

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───tip

│   │       │   │   ├───tipc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───tips

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   ├───uds

│   │       │   │   ├───udsc

│   │       │   │   │   ├───api

│   │       │   │   │   └───src

│   │       │   │   └───udss

│   │       │   │       ├───api

│   │       │   │       └───src

│   │       │   └───wscp

│   │       │       ├───wscc

│   │       │       │   ├───api

│   │       │       │   └───src

│   │       │       └───wscs

│   │       │           ├───api

│   │       │           └───src

│   │       ├───ns_ble_stack

│   │       │   ├───arch

│   │       │   ├───host_lib

│   │       │   ├───ip

│   │       │   │   ├───ahi

│   │       │   │   │   └───api

│   │       │   │   ├───ble

│   │       │   │   │   ├───hl

│   │       │   │   │   │   ├───api

│   │       │   │   │   │   ├───inc

│   │       │   │   │   │   └───src

│   │       │   │   │   │       ├───att

│   │       │   │   │   │       ├───gap

│   │       │   │   │   │       ├───gatt

│   │       │   │   │   │       └───l2c

│   │       │   │   │   └───ll

│   │       │   │   │       ├───api

│   │       │   │   │       └───src

│   │       │   │   │           ├───llc

│   │       │   │   │           ├───lld

│   │       │   │   │           └───llm

│   │       │   │   ├───em

│   │       │   │   │   └───api

│   │       │   │   ├───hci

│   │       │   │   │   └───api

│   │       │   │   └───sch

│   │       │   │       └───api

│   │       │   ├───modules

│   │       │   │   ├───aes

│   │       │   │   │   └───api

│   │       │   │   ├───common

│   │       │   │   │   └───api

│   │       │   │   ├───dbg

│   │       │   │   │   └───api

│   │       │   │   ├───ecc_p256

│   │       │   │   │   └───api

│   │       │   │   ├───h4tl

│   │       │   │   │   └───api

│   │       │   │   ├───ke

│   │       │   │   │   └───api

│   │       │   │   └───rwip

│   │       │   │       └───api

│   │       │   ├───rfinit

│   │       │   │   └───api

│   │       │   ├───stack_common

│   │       │   └───symdef

│   │       └───ns_library

│   │           ├───adv

│   │           ├───ble

│   │           ├───delay

│   │           ├───dfu

│   │           ├───ecc

│   │           ├───error

│   │           ├───log

│   │           ├───scheduler

│   │           ├───sec

│   │           ├───sleep

│   │           └───timer

│   └───Third_Party

│       └───FreeRTOS

│           ├───License

│           └───Source

│               ├───CMSIS_RTOS

│               ├───include

│               └───portable

│                   ├───Common

│                   ├───IAR

│                   │   └───ARM_CM0

│                   ├───Keil

│                   ├───MemMang

│                   └───RVDS

│                       └───ARM_CM0

├───projects

│   └───n32wb03x_EVAL

│       ├───application

│       │   ├───FreeRTOS

│       │   │   ├───FreeRTOS_Mail

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_Mutexes

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_Queues

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_Semaphore

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   │   ├───bin

│       │   │   │   │   ├───Listings

│       │   │   │   │   └───Objects

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_SemaphoreFromISR

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_Signal

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_SignalFromISR

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FreeRTOS_ThreadCreation

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───FreeRTOS_Timers

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   └───peripheral_alone

│       │       ├───inc

│       │       ├───MDK-ARM

│       │       │   ├───bin

│       │       │   ├───Listings

│       │       │   └───Objects

│       │       ├───MDK-ARM_run_from_RAM

│       │       └───src

│       ├───ble

│       │   ├───blood_pressure

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───dis

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───heart_rate

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───hid_mouse

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───rdtss

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───rdtss_16bit

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   └───rdtss_3s

│       │       ├───inc

│       │       │   └───app_profile

│       │       ├───MDK-ARM

│       │       └───src

│       │           └───app_profile

│       ├───ble_central

│       │   ├───central_rdtsc

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───central_rdtsc_3m

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───central_rdts_c&s

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   └───central_relay_1m1s

│       │       ├───inc

│       │       │   └───app_profile

│       │       ├───MDK-ARM

│       │       └───src

│       │           └───app_profile

│       ├───bsp

│       │   ├───inc

│       │   └───src

│       ├───dfu

│       │   ├───app_ota

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   ├───app_usart

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   ├───common

│       │   ├───image_update

│       │   │   ├───inc

│       │   │   │   └───app_profile

│       │   │   ├───MDK-ARM

│       │   │   └───src

│       │   │       └───app_profile

│       │   └───masterboot

│       │       ├───MDK-ARM

│       │       └───src

│       ├───peripheral

│       │   ├───ADC

│       │   │   ├───ADC_DMA

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───ADC_SingleRead

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───ADC_Temperature

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       │   ├───bin

│       │   │       │   ├───Listings

│       │   │       │   └───Objects

│       │   │       └───src

│       │   ├───COREMARK

│       │   │   └───CoreMark

│       │   │       ├───coremark

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       ├───src

│       │   │       └───startup

│       │   ├───Cortex-M0

│       │   │   ├───ProcessStack

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───SysTick

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───CRC

│       │   │   └───CalCRC

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───DMA

│       │   │   ├───I2C_RAM

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───SPI_RAM

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───EXTI

│       │   │   └───KeyInterrupt

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───FLASH

│       │   │   └───FLASH_RW

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───GPIO

│       │   │   ├───IOToggle_MaxFrequency

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───LedBlink

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───I2C

│       │   │   ├───EEPROM

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2C_Master

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2C_Master_Int

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2C_Slave

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2C_Slave_Int

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───Software_I2C_Master

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───I2S

│       │   │   ├───I2S_DMA_MASTER

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2S_DMA_SLAVE

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2S_Interrupt_MASTER

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───I2S_Interrupt_SLAVE

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───SPI_I2S_Switch_MASTER

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───SPI_I2S_Switch_SLAVE

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───IWDG

│       │   │   └───IWDG_Reset

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───LPUART

│       │   │   ├───DMA_Interrupt

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───DMA_Polling

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───HardwareFlowCtrl

│       │   │   │   ├───Receive_RTS

│       │   │   │   │   ├───inc

│       │   │   │   │   ├───MDK-ARM

│       │   │   │   │   └───src

│       │   │   │   └───Transmit_CTS

│       │   │   │       ├───inc

│       │   │   │       ├───MDK-ARM

│       │   │   │       └───src

│       │   │   ├───Interrupt

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Polling

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Printf

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───WakeUpFromStop

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───NVIC

│       │   │   └───IRQ_Mask

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───PWR

│       │   │   ├───PD

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───SLEEP

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───RTC

│       │   │   ├───Alarm

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Calendar

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───RtcAutoWakeUp

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───SPI

│       │   │   ├───CRC

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───FullDuplex_SoftNSS

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Simplex_Interrupt

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Simplex_Interrupt_MASTER

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Simplex_Interrupt_SLAVE

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───SPI_DMA_MASTER

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───SPI_DMA_SLAVE

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───SPI_FLASH

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───TIM

│       │   │   ├───6Steps

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───7PWM_Output

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Cascade_Synchro

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───ComplementarySignals

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───DMA

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───DMABurst

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───ExtTrigger_Synchro

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───InputCapture

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───InputCapture_DualEdge

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───OCActive

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───OCInactive

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───OCToggle

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───OnePulse

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Parallel_Synchro

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───PWM_Input

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───PWM_Output

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───TIM1_Synchro

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───TimeBase

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───TimeBasic1

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───TimeBasic3

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───TimeBasic6

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   ├───USART

│       │   │   ├───DMA_Interrupt

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───DMA_Polling

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───HalfDuplex

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───HardwareFlowCtrl

│       │   │   │   ├───Receive_RTS

│       │   │   │   │   ├───inc

│       │   │   │   │   ├───MDK-ARM

│       │   │   │   │   └───src

│       │   │   │   └───Transmit_CTS

│       │   │   │       ├───inc

│       │   │   │       ├───MDK-ARM

│       │   │   │       └───src

│       │   │   ├───Interrupt

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───MultiProcessor

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Polling

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───Printf

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   ├───SmartCard

│       │   │   │   ├───inc

│       │   │   │   ├───MDK-ARM

│       │   │   │   └───src

│       │   │   └───Synchronous

│       │   │       ├───inc

│       │   │       ├───MDK-ARM

│       │   │       └───src

│       │   └───WWDG

│       │       └───WWDG_Reset

│       │           ├───inc

│       │           ├───MDK-ARM

│       │           └───src

│       └───prod_test

│           ├───DTM_Test

│           │   ├───inc

│           │   │   └───app_profile

│           │   ├───MDK-ARM

│           │   └───src

│           │       └───app_profile

│           └───RF_Test

│               ├───inc

│               │   └───app_profile

│               ├───MDK-ARM

│               └───src

│                   └───app_profile

└───utilities

    └───dfu

        ├───Image

        │   ├───DualBankProgrammingDemo

        │   │   └───Image

        │   ├───JLINKProgrammingDemo

        │   │   └───Image

        │   ├───SingleBankProgrammingDemo

        │   │   └───Image

        │   └───UartProgrammingDemo

        │       └───Image

        ├───JLink

        │   ├───JLink_Script

        │   └───JLink_V632

        │       └───Devices

        │           └───Nationstech

        ├───keys

        ├───NSAndroidUtil

        └───NSUtil


Pressione F7 para Build


Pronto, código compilado.

Exemplo ADC



Ref


Sobre a SMARTCORE

A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES.

segunda-feira, 29 de julho de 2024

MILK-V RNDIS

TESTE


Duo

Imagens de documentos

Milk-V Duo é uma plataforma de desenvolvimento embarcada ultracompacta baseada no chip CV1800B. Ele pode executar Linux e RTOS, fornecendo uma plataforma confiável, de baixo custo e de alto desempenho para profissionais, entusiastas de AIoT, amadores e criadores.

Acessando internet sem placa ETHERNET

Após conectar no MILK-V na USB, com drivers previamente instalados, teremos no painel de controle-->gerenciador de dispositivos-->adaptadores de rede, um dispositivo RNDIS, o mesmo terá um IP fixo para que você possa acessar via SSH.

192.168.42.1


Introdução ao SSH

SSH (Secure Shell) é um protocolo usado para acesso seguro e transmissão de dados em uma rede insegura. Garante a comunicação segura entre o cliente e o servidor por meio de mecanismos de criptografia e autenticação.

Os principais recursos do SSH incluem:

Segurança: SSH usa algoritmos de criptografia para evitar que os dados sejam espionados ou adulterados durante a transmissão. Também fornece mecanismos de autenticação para garantir que apenas usuários autorizados possam acessar o sistema.

Acesso Remoto: SSH permite aos usuários executar comandos em um computador remoto, fornecendo uma sessão de terminal segura. Isto é útil para gerenciamento remoto de servidores e dispositivos.

Transferência de arquivos: Com SSH, os arquivos podem ser transferidos com segurança usando SCP (Secure Copy Protocol) ou SFTP (SSH File Transfer Protocol).

Encaminhamento de porta: SSH oferece suporte ao encaminhamento de porta, permitindo que serviços no computador local sejam transmitidos com segurança para um servidor remoto, aumentando a segurança da rede.

  1. Central de Segurança do Windows -> Firewall e Proteção de Rede -> Desligue o firewall.

  2. Configure um IP estático para a placa de rede RNDIS. Abra Configurações -> Configurações avançadas de rede -> Alterar opções do adaptador.

  3. O nome da placa de rede geralmente é semelhante a "Dispositivo de compartilhamento de Internet baseado em NDIS remoto". Clique com o botão direito e escolha Propriedades.


  4. Clique duas vezes em “Protocolo de Internet Versão 4 (TCP/IPv4)”. Defina o endereço IPv4 como 172.32.0.100 para evitar conflitos com outros dispositivos.


Teste de ping na REDE

  1. Central de Segurança do Windows -> Firewall e Proteção de Rede -> Desligue o firewall.


  2. Configure o IP estático da placa de rede RNDIS, abra Configurações -> Configurações avançadas de rede -> Alterar opções do adaptador.

  3. Depois de conectar a placa de desenvolvimento, uma rede local não reconhecida aparecerá no PC.


  4. Compartilhe a rede do PC com a rede da placa de desenvolvimento.


  5. Configure as informações de rede da placa de desenvolvimento.


  1. Adicionar informações de rota

    route add default gw 172.32.0.100
    
    
  2. Adicionar servidores DNS

    Abra o arquivo

    vi /etc/resolv.conf

    Adicione o seguinte conteúdo:

    nameserver 8.8.8.8
  3. Teste de rede

    ping -I usb0 www.baidu.com
  4. Configuração automática na inicialização

    As informações de rota e os servidores DNS serão apagados após a reinicialização. Criamos um script para concluir automaticamente a configuração após a inicialização.

    cd /etc/init.d
    vi S99usb_network

    Adicione o seguinte conteúdo:

    #!/bin/sh

    case $1 in
    start)
    route add default gw 172.32.0.100
    echo "nameserver 8.8.8.8" > /etc/resolv.conf
    ;;
    stop)
    ;;
    *)
    exit 1
    ;;
    esac

    Modificar permissões de script

    chmod 775 S99usb_network
  1. Ver informações da rota

    # route -n
    Kernel IP routing table
    Destination Gateway Genmask Flags Metric Ref Use Iface
    0.0.0.0 172.32.0.100 0.0.0.0 UG 0 0 0 usb0
    172.32.0.0 0.0.0.0 255.255.0.0 U 0 0 0 usb0
  2. Ver servidores DNS

    # cat /etc/resolv.conf
    nameserver 8.8.8.8
  3. Teste de rede

    # ping -I usb0 www.baidu.com
    PING www.baidu.com (183.2.172.42): 56 data bytes
    64 bytes from 183.2.172.42: seq=0 ttl=50 time=9.827 ms
    64 bytes from 183.2.172.42: seq=1 ttl=50 time=9.258 ms
    64 bytes from 183.2.172.42: seq=2 ttl=50 time=8.340 ms
    64 bytes from 183.2.172.42: seq=3 ttl=50 time=8.994 ms
    64 bytes from 183.2.172.42: seq=4 ttl=50 time=9.933 ms
    64 bytes from 183.2.172.42: seq=5 ttl=50 time=8.321 ms
    64 bytes from 183.2.172.42: seq=6 ttl=50 time=8.609 ms
    64 bytes from 183.2.172.42: seq=7 ttl=50 time=9.013 ms
    64 bytes from 183.2.172.42: seq=8 ttl=50 time=9.234 ms
    64 bytes from 183.2.172.42: seq=9 ttl=50 time=9.284 ms
    ^C
    --- www.baidu.com ping statistics ---
    10 packets transmitted, 10 packets received, 0% packet loss
    round-trip min/avg/max = 8.321/9.081/9.933 ms

A SMARTCORE FORNECE CHIPS E MÓDULOS PARA IOT, COMUNICAÇÃO WIRELESS, BIOMETRIA, CONECTIVIDADE, RASTREAMENTO E AUTOMAÇÃO. NOSSO PORTFÓLIO INCLUI MODEM 2G/3G/4G/NB-IOT, SATELITAL, MÓDULOS WIFI, BLUETOOTH, GPS, SIGFOX, LORA, LEITOR DE CARTÃO, LEITOR QR CCODE, MECANISMO DE IMPRESSÃO, MINI-BOARD PC, ANTENA, PIGTAIL, BATERIA, REPETIDOR GPS E SENSORES.