解决一些软件bug

1.make.py添加输出源文件的命令
2.解决找不到usart设备导致文件管理无法退出卡死的问题
3.解决点击关于本机卡死的问题
4.解决工具界面中文工具显示乱码的问题
This commit is contained in:
2025-07-05 23:48:54 +08:00
parent 0981cae9c4
commit fed557e2e1
8 changed files with 96 additions and 54 deletions

View File

@@ -3,7 +3,32 @@
{
"name": "stm32",
"includePath": [
"${workspaceFolder}/**"
"Project/Src/MJPEG",
"Project/Src/MJPEG/JPEG",
"Project/Src/STM32/CMSIS/Device/ST/STM32F4xx/Include",
"Project/Src/STM32/CMSIS/Include",
"Project/Src/STM32/DSP/Include",
"Project/Src/STM32/STM32F4xx_StdPeriph_Driver/inc",
"Project/Src/Drive/Include",
"Project/Src/FATS",
"Project/Src/FreeType",
"Project/Src/FreeType/include",
"Project/Src/JPEG",
"Project/Src/lib",
"Project/Src/lpng1637",
"Project/Src/lua-5.4.2",
"Project/Src/lua-5.4.2/src",
"Project/Src/MP3",
"Project/Src/MP3/helix",
"Project/Src/MY",
"Project/Src/MyApp",
"Project/Src/MyWin",
"Project/Src/MyWin/MyWinCore",
"Project/Src/MyWin/Window",
"Project/Src/MyWinApp",
"Project/Src/rt-thread",
"Project/Src/rt-thread/include",
"Project/Src/zlib"
],
"defines": [
"USE_STDPERIPH_DRIVER",
@@ -17,7 +42,7 @@
"compilerPath": "D:/Program Files/arm-gnu-toolchain/bin/arm-none-eabi-gcc",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "macos-gcc-arm"
"intelliSenseMode": "windows-gcc-arm"
}
],
"version": 4

View File

@@ -12,7 +12,8 @@
"mywin_user_status_bar.h": "c",
"elf.h": "c",
"string.h": "c",
"aftypes.h": "c"
"aftypes.h": "c",
"base.h": "c"
},
"cortex-debug.variableUseNaturalFormat": false,
"files.autoGuessEncoding": true,

View File

@@ -62,7 +62,11 @@ static void cd_updata_thread(void *t)
}
#else
FILE *f=fopen("usart","r");
if(f==NULL) return;
if(f==NULL) {
myfree(data);
g_updata_down=1;
return;
}
#endif
while(1)
{

View File

@@ -52,7 +52,7 @@
#endif
#define sprintf rt_sprintf
typedef struct

View File

@@ -398,7 +398,7 @@ void HOME_RecvFile (WIN_HomeStruct *home,SysFile_RecvedStruct *r)
if (r->recved)
{
char *txt=mymalloc (256);
sprintf (txt,"<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>%d Byte",r->name,r->dataLen);
sprintf(txt,"<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%s\n<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>%ld Byte",r->name,r->dataLen);
if (MSGBOX_Inquiry ((WIN_WindowStruct *)win,"<EFBFBD>Ƿ񱣴棿",txt,"<EFBFBD><EFBFBD>","<EFBFBD><EFBFBD>")==0)
{
int index=MSGBOX_Select ((WIN_WindowStruct *)win,"<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>",(char **)g_fileSaveItem,

View File

@@ -59,9 +59,12 @@ WIN_MenuStruct *MENU_Setting (WIN_WindowStruct *base,WIN_PicStruct *pic)
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>õı<C3B5><C4B1><EFBFBD>
#define APP_SOURCE (*(u32 *)(0x08020000+4*7))
#define APP_APPNAME (*(char **)(0x08020000+4*8))
#define APP_SIZE (*(u32 *)(0x08020000+4*9))
// #define APP_SOURCE (*(u32 *)(0x08020000+4*7))
// #define APP_APPNAME (*(char **)(0x08020000+4*8))
// #define APP_SIZE (*(u32 *)(0x08020000+4*9))
#define APP_SOURCE (*(u32 *)(0x08000000+4*7))
#define APP_APPNAME (*(char **)(0x08000000+4*8))
#define APP_SIZE (*(u32 *)(0x08000000+4*9))

View File

@@ -31,22 +31,19 @@ void MENU_ToolScanFile(WIN_MenuStruct *menu)
FRESULT ret = FR_OK;
DIR dir = {0};
FILINFO *file_info = 0;
char *tmp = mymalloc(256);
file_info = mymalloc(sizeof(FILINFO));
ret = f_findfirst(&dir, file_info, TOOL_APP_PATH, "*.axf");
while ((ret == FR_OK) && (file_info->fname[0] != 0))
{
if (AM_DIR & file_info->fattrib)
continue;
gbk2utf8_str(file_info->fname, tmp);
if (MENU_GetAllItemNum(menu) < TOOL_APP_MAXNUM)
MENU_AddItem(menu, 0, tmp);
MENU_AddItem(menu, 0, file_info->fname);
else
break;
ret = f_findnext(&dir, file_info);
}
myfree(file_info);
myfree(tmp);
}
static void MENU_ToolEnter(WIN_MenuStruct *menu)

View File

@@ -319,6 +319,18 @@ def main():
for item in SRC_DIR:
SRC += find_type(item,'.c')
if len(sys.argv) > 1:
l=[]
if sys.argv[1] == 'show_inc':
l=INC
elif sys.argv[1] == 'show_src':
l=SRC
l.sort()
for item in l:
t=item.replace('\\','/')
print(f"\"Project/{t}\",")
return
if build_depend(SRC):
if build_object(SRC):
if build_target(SRC):