update package for bsp/f103

This commit is contained in:
graduateDesign 2021-10-05 17:49:09 +08:00
parent 58c906e2e1
commit 80725a1551
10 changed files with 80 additions and 19 deletions

View File

@ -645,6 +645,11 @@
<FileType>1</FileType>
<FilePath>..\pikascript\pikascript-core\TinyObj.c</FilePath>
</File>
<File>
<FileName>pikaPlatform.c</FileName>
<FileType>1</FileType>
<FilePath>..\pikascript\pikascript-core\pikaPlatform.c</FilePath>
</File>
</Files>
</Group>
<Group>

View File

@ -723,10 +723,10 @@ void obj_run(PikaObj* self, char* cmd) {
obj_setSysOut(self, sysOut);
obj_setErrorCode(self, errcode);
if (!strEqu("", sysOut)) {
printf("%s\r\n", sysOut);
__platformPrintf("%s\r\n", sysOut);
}
if (0 != errcode) {
printf("[info] input commond: %s\r\n", cmd);
__platformPrintf("[info] input commond: %s\r\n", cmd);
while (1)
;
}

View File

@ -8,23 +8,16 @@
#include <stdlib.h>
PikaMemInfo pikaMemInfo = {0};
__attribute__((weak)) void __pikaDisableIrqHandle(){
/* disable irq to support thread */
}
__attribute__((weak)) void __pikaEnableIrqHandle(){
/* disable irq to support thread */
}
void* pikaMalloc(uint32_t size) {
pikaMemInfo.heapUsed += size;
if (pikaMemInfo.heapUsedMax < pikaMemInfo.heapUsed) {
pikaMemInfo.heapUsedMax = pikaMemInfo.heapUsed;
}
__pikaDisableIrqHandle();
void* mem = malloc(size);
__pikaEnableIrqHandle();
__platformDisableIrqHandle();
void* mem = __platformMalloc(size);
__platformEnableIrqHandle();
if (NULL == mem) {
printf("[error]: No heap space! Please reset the device.\r\n");
__platformPrintf("[error]: No heap space! Please reset the device.\r\n");
while (1) {
}
}
@ -32,9 +25,9 @@ void* pikaMalloc(uint32_t size) {
}
void pikaFree(void* mem, uint32_t size) {
__pikaDisableIrqHandle();
free(mem);
__pikaEnableIrqHandle();
__platformDisableIrqHandle();
__platformFree(mem);
__platformEnableIrqHandle();
pikaMemInfo.heapUsed -= size;
}

View File

@ -9,6 +9,7 @@
#include <stdint.h>
#include <stdio.h>
#include <string.h>
#include "pikaPlatform.h"
typedef struct {
uint32_t heapUsed;

View File

@ -0,0 +1,29 @@
#include "pikaPlatform.h"
#include <stdint.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
PIKA_WEAK void __platformDisableIrqHandle() {
/* disable irq to support thread */
}
PIKA_WEAK void __platformEnableIrqHandle() {
/* disable irq to support thread */
}
PIKA_WEAK void* __platformMalloc(size_t size) {
return malloc(size);
}
PIKA_WEAK void __platformFree(void* ptr) {
return free(ptr);
}
PIKA_WEAK void __platformPrintf(char* fmt, ...) {
va_list args;
va_start(args, fmt);
char sysOut[128] = {0};
vprintf(fmt, args);
va_end(args);
}

View File

@ -0,0 +1,19 @@
#ifndef __PIKA_PALTFORM__H
#define __PIKA_PALTFORM__H
#include <stdlib.h>
#if defined(__CC_ARM) || defined(__CLANG_ARM) /* ARM Compiler */
#define PIKA_WEAK __attribute__((weak))
#elif defined(__IAR_SYSTEMS_ICC__) /* for IAR Compiler */
#define PIKA_WEAK __weak
#elif defined(__GNUC__) /* GNU GCC Compiler */
#define PIKA_WEAK __attribute__((weak))
#endif
void __platformPrintf(char* fmt, ...);
void* __platformMalloc(size_t size);
void __platformFree(void* ptr);
void __platformEnableIrqHandle();
void __platformDisableIrqHandle();
#endif

View File

@ -1,6 +1,13 @@
#include "STM32_common.h"
#include "dataStrs.h"
void __platformDisableIrqHandle(){
__disable_irq();
}
void __platformEnableIrqHandle(){
__enable_irq();
}
void delay_unit(uint32_t delays) {
/* one unit is 1/64 us */
uint32_t startval, tickn, wait;

View File

@ -8,6 +8,13 @@
#define UART2_EXIST
#define UART3_EXIST
#define UART4_EXIST
#define TIM1_EXIST
#define TIM3_EXIST
#define TIM14_EXIST
#define TIM16_EXIST
#define TIM17_EXIST
#define Code_ENABLE
#endif
#ifdef STM32F103xB

View File

@ -1,4 +1,4 @@
pikascript-core==latest
PikaStdLib==v1.0.1
pikascript-core==v0.8.3
PikaStdLib==latest
PikaStdDevice==v1.3.0
STM32==v1.0.1
STM32==v1.0.2