mirror of
https://gitee.com/Lyon1998/pikapython.git
synced 2025-01-29 17:22:56 +08:00
update g070cb
This commit is contained in:
parent
fad2c4a6ef
commit
3083034481
@ -338,7 +338,7 @@
|
||||
<v6Rtti>0</v6Rtti>
|
||||
<VariousControls>
|
||||
<MiscControls></MiscControls>
|
||||
<Define>USE_HAL_DRIVER,STM32G070xx</Define>
|
||||
<Define>USE_FULL_LL_DRIVER, USE_HAL_DRIVER,STM32G070xx</Define>
|
||||
<Undefine></Undefine>
|
||||
<IncludePath>..\pikascript\pikascript-lib\STM32G070CBBooter;../Drivers/STM32G0xx_HAL_Driver/Inc;../Drivers/STM32G0xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32G0xx/Include;../Drivers/CMSIS/Include;..\pikascript\pikascript-api;..\pikascript\pikascript-core;..\pikascript\pikascript-lib\STM32</IncludePath>
|
||||
</VariousControls>
|
||||
@ -414,6 +414,11 @@
|
||||
<FileType>2</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G070CBBooter\startup_stm32g070xx.s</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>pika_config.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G070CBBooter\pika_config.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@ -519,6 +524,31 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_hal_uart_ex.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32g0xx_ll_gpio.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_ll_gpio.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32g0xx_ll_usart.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_ll_usart.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32g0xx_ll_rcc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_ll_rcc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32g0xx_ll_adc.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_ll_adc.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>stm32g0xx_ll_tim.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\Drivers\STM32G0xx_HAL_Driver\Src\stm32g0xx_ll_tim.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@ -639,6 +669,76 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdLib-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_ADC-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_ADC-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_GPIO-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_GPIO-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_IIC-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_IIC-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_PWM-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_PWM-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_Time-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_Time-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_UART-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\PikaStdDevice_UART-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_ADC-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_ADC-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_GPIO-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_GPIO-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_IIC-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_IIC-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_lowLevel-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_lowLevel-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_PWM-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_PWM-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_Time-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_Time-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_UART-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0_UART-api.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0-api.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-api\STM32G0-api.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
@ -659,6 +759,71 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdLib\PikaStdLib_SysObj.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_ADC.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_ADC.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_GPIO.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_GPIO.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_IIC.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_IIC.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_PWM.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_PWM.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_Time.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_Time.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>PikaStdDevice_UART.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\PikaStdDevice\PikaStdDevice_UART.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_ADC.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_ADC.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_common.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_common.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_GPIO.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_GPIO.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_IIC.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_IIC.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_PWM.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_PWM.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_Time.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_Time.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>STM32G0_UART.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>..\pikascript\pikascript-lib\STM32G0\STM32G0_UART.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
@ -1,4 +1,5 @@
|
||||
import PikaStdLib
|
||||
import STM32G0
|
||||
|
||||
print('hello pikascript')
|
||||
print('mem used max:')
|
||||
|
@ -1,3 +1,5 @@
|
||||
pikascript-core==v1.2.8
|
||||
PikaStdLib==v1.2.4
|
||||
STM32G070CBBooter==v1.0.0
|
||||
STM32G070CBBooter==v1.0.0
|
||||
STM32G0==v1.0.3
|
||||
PikaStdDevice==v1.4.3
|
@ -71,7 +71,7 @@ int main(void)
|
||||
|
||||
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
|
||||
HAL_Init();
|
||||
|
||||
HARDWARE_PRINTF_Init();
|
||||
/* USER CODE BEGIN Init */
|
||||
/* USER CODE END Init */
|
||||
|
||||
|
@ -29,7 +29,18 @@ extern "C" {
|
||||
|
||||
/* Includes ------------------------------------------------------------------*/
|
||||
#include "stm32g0xx_hal.h"
|
||||
|
||||
#include "stm32g0xx_ll_bus.h"
|
||||
#include "stm32g0xx_ll_cortex.h"
|
||||
#include "stm32g0xx_ll_dma.h"
|
||||
#include "stm32g0xx_ll_exti.h"
|
||||
#include "stm32g0xx_ll_gpio.h"
|
||||
#include "stm32g0xx_ll_pwr.h"
|
||||
#include "stm32g0xx_ll_rcc.h"
|
||||
#include "stm32g0xx_ll_system.h"
|
||||
#include "stm32g0xx_ll_tim.h"
|
||||
#include "stm32g0xx_ll_usart.h"
|
||||
#include "stm32g0xx_ll_utils.h"
|
||||
#include "pika_config.h"
|
||||
/* Private includes ----------------------------------------------------------*/
|
||||
/* USER CODE BEGIN Includes */
|
||||
|
||||
|
98
package/STM32G070CBBooter/pika_config.c
Normal file
98
package/STM32G070CBBooter/pika_config.c
Normal file
@ -0,0 +1,98 @@
|
||||
#include "pika_config.h"
|
||||
#include "main.h"
|
||||
#include <stdio.h>
|
||||
/* support interrupt */
|
||||
|
||||
void __platform_disable_irq_handle(){
|
||||
__disable_irq();
|
||||
}
|
||||
void __platform_enable_irq_handle(){
|
||||
__enable_irq();
|
||||
}
|
||||
|
||||
|
||||
/* support printf */
|
||||
void HARDWARE_PRINTF_Init(void) {
|
||||
LL_USART_InitTypeDef USART_InitStruct = {0};
|
||||
LL_GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||
/* Peripheral clock enable */
|
||||
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_USART1);
|
||||
|
||||
LL_IOP_GRP1_EnableClock(LL_IOP_GRP1_PERIPH_GPIOA);
|
||||
/**USART1 GPIO Configuration
|
||||
PA9 ------> USART1_TX
|
||||
PA10 ------> USART1_RX
|
||||
*/
|
||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_9;
|
||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
||||
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||
GPIO_InitStruct.Alternate = LL_GPIO_AF_1;
|
||||
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
GPIO_InitStruct.Pin = LL_GPIO_PIN_10;
|
||||
GPIO_InitStruct.Mode = LL_GPIO_MODE_ALTERNATE;
|
||||
GPIO_InitStruct.Speed = LL_GPIO_SPEED_FREQ_LOW;
|
||||
GPIO_InitStruct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
|
||||
GPIO_InitStruct.Pull = LL_GPIO_PULL_NO;
|
||||
GPIO_InitStruct.Alternate = LL_GPIO_AF_1;
|
||||
LL_GPIO_Init(GPIOA, &GPIO_InitStruct);
|
||||
|
||||
/* USART1 interrupt Init */
|
||||
NVIC_SetPriority(USART1_IRQn, 0);
|
||||
NVIC_EnableIRQ(USART1_IRQn);
|
||||
|
||||
USART_InitStruct.PrescalerValue = LL_USART_PRESCALER_DIV1;
|
||||
USART_InitStruct.BaudRate = 115200;
|
||||
USART_InitStruct.DataWidth = LL_USART_DATAWIDTH_8B;
|
||||
USART_InitStruct.StopBits = LL_USART_STOPBITS_1;
|
||||
USART_InitStruct.Parity = LL_USART_PARITY_NONE;
|
||||
USART_InitStruct.TransferDirection = LL_USART_DIRECTION_TX_RX;
|
||||
USART_InitStruct.HardwareFlowControl = LL_USART_HWCONTROL_NONE;
|
||||
USART_InitStruct.OverSampling = LL_USART_OVERSAMPLING_16;
|
||||
LL_USART_Init(USART1, &USART_InitStruct);
|
||||
LL_USART_SetTXFIFOThreshold(USART1, LL_USART_FIFOTHRESHOLD_1_8);
|
||||
LL_USART_SetRXFIFOThreshold(USART1, LL_USART_FIFOTHRESHOLD_1_8);
|
||||
LL_USART_DisableFIFO(USART1);
|
||||
LL_USART_ConfigAsyncMode(USART1);
|
||||
LL_USART_Enable(USART1);
|
||||
|
||||
/* Polling USART1 initialisation */
|
||||
while ((!(LL_USART_IsActiveFlag_TEACK(USART1))) ||
|
||||
(!(LL_USART_IsActiveFlag_REACK(USART1)))) {
|
||||
}
|
||||
|
||||
/* open interrupt */
|
||||
LL_USART_EnableIT_RXNE(USART1);
|
||||
LL_USART_EnableIT_PE(USART1);
|
||||
}
|
||||
|
||||
int fputc(int ch, FILE* f) {
|
||||
LL_USART_TransmitData8(USART1, ch);
|
||||
while (LL_USART_IsActiveFlag_TC(USART1) != 1)
|
||||
;
|
||||
return ch;
|
||||
}
|
||||
|
||||
/* support delay_us */
|
||||
|
||||
void delay_us(uint32_t udelay) {
|
||||
uint32_t startval, tickn, delays, wait;
|
||||
|
||||
startval = SysTick->VAL;
|
||||
tickn = HAL_GetTick();
|
||||
delays = udelay * 64; // delay 1us when delays = 64
|
||||
if (delays > startval) {
|
||||
while (HAL_GetTick() == tickn) {
|
||||
}
|
||||
wait = 64000 + startval - delays;
|
||||
while (wait < SysTick->VAL) {
|
||||
}
|
||||
} else {
|
||||
wait = startval - delays;
|
||||
while (wait < SysTick->VAL && HAL_GetTick() == tickn) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
64
package/STM32G070CBBooter/pika_config.h
Normal file
64
package/STM32G070CBBooter/pika_config.h
Normal file
@ -0,0 +1,64 @@
|
||||
#ifndef __STM32G030_PIKA_PORT__H
|
||||
#define __STM32G030_PIKA_PORT__H
|
||||
|
||||
#define use_mem_pool 1
|
||||
|
||||
#include <stdint.h>
|
||||
#include "pikaObj.h"
|
||||
typedef struct _CodeHeap {
|
||||
char* content;
|
||||
uint32_t size;
|
||||
uint8_t ena;
|
||||
uint32_t reciveTime;
|
||||
uint32_t oldSize;
|
||||
} CodeHeap;
|
||||
|
||||
/* support std lib for stm32 */
|
||||
#define delay_ms HAL_Delay
|
||||
#undef u16
|
||||
#undef u8
|
||||
#undef u32
|
||||
#define u16 uint16_t
|
||||
#define u8 uint8_t
|
||||
#define u32 uint32_t
|
||||
|
||||
#define GPIO_Pin_0 GPIO_PIN_0
|
||||
#define GPIO_Pin_1 GPIO_PIN_1
|
||||
#define GPIO_Pin_2 GPIO_PIN_2
|
||||
#define GPIO_Pin_3 GPIO_PIN_3
|
||||
#define GPIO_Pin_4 GPIO_PIN_4
|
||||
#define GPIO_Pin_5 GPIO_PIN_5
|
||||
#define GPIO_Pin_6 GPIO_PIN_6
|
||||
#define GPIO_Pin_7 GPIO_PIN_7
|
||||
#define GPIO_Pin_8 GPIO_PIN_8
|
||||
#define GPIO_Pin_9 GPIO_PIN_9
|
||||
#define GPIO_Pin_10 GPIO_PIN_10
|
||||
#define GPIO_Pin_11 GPIO_PIN_11
|
||||
#define GPIO_Pin_12 GPIO_PIN_12
|
||||
#define GPIO_Pin_13 GPIO_PIN_13
|
||||
#define GPIO_Pin_14 GPIO_PIN_14
|
||||
#define GPIO_Pin_15 GPIO_PIN_15
|
||||
|
||||
/* support pinrtf */
|
||||
void HARDWARE_PRINTF_Init(void);
|
||||
|
||||
/* support write asm to flash */
|
||||
#define FLASH_SCRIPT_START_ADDR \
|
||||
(FLASH_BASE + ((FLASH_PAGE_NB - 2) * FLASH_PAGE_SIZE))
|
||||
#define FLASH_SCRIPT_END_ADDR (FLASH_BASE + FLASH_SIZE - 1)
|
||||
#define FLASH_PIKA_ASM_START_ADDR FLASH_SCRIPT_START_ADDR
|
||||
#define FLASH_PIKA_ASM_END_ADDR FLASH_SCRIPT_END_ADDR
|
||||
|
||||
#define RX_BUFF_LENGTH 64
|
||||
|
||||
/* support download python script by uart1 */
|
||||
uint8_t STM32_Code_reciveHandler(char* data, uint32_t rxSize);
|
||||
void STM32_Code_Init(void);
|
||||
void STM32_Code_flashHandler(void);
|
||||
|
||||
/* handler for usart1 */
|
||||
void __PIKA_USART1_IRQHandler(char rx_char);
|
||||
#endif
|
||||
|
||||
/* delay_us */
|
||||
void delay_us(uint32_t udelay);
|
Loading…
x
Reference in New Issue
Block a user