地址线使用下拉,app中也使用断言,线程栈默认填充0x23+pro,malloc失败直接进断言

This commit is contained in:
ranchuan
2023-12-02 11:36:38 +08:00
parent 4a4b37d3f1
commit c4a1d5c088
8 changed files with 39 additions and 16 deletions

View File

@@ -299,7 +299,7 @@
<OPTFL> <OPTFL>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>0</IsCurrentTarget> <IsCurrentTarget>1</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>18</CpuCode> <CpuCode>18</CpuCode>
<DebugOpt> <DebugOpt>
@@ -377,7 +377,24 @@
<Name></Name> <Name></Name>
</SetRegEntry> </SetRegEntry>
</TargetDriverDllRegistry> </TargetDriverDllRegistry>
<Breakpoint/> <Breakpoint>
<Bp>
<Number>0</Number>
<Type>0</Type>
<LineNumber>159</LineNumber>
<EnabledFlag>1</EnabledFlag>
<Address>134301518</Address>
<ByteObject>0</ByteObject>
<HtxType>0</HtxType>
<ManyObjects>0</ManyObjects>
<SizeOfObject>0</SizeOfObject>
<BreakByAccess>0</BreakByAccess>
<BreakIfRCount>1</BreakIfRCount>
<Filename>D:\work\SVN\鍐夊窛\mcu_program\checker_slave\source\soft\mystdlib.c</Filename>
<ExecCommand></ExecCommand>
<Expression>\\checker_slave_app\source/soft/mystdlib.c\159</Expression>
</Bp>
</Breakpoint>
<WatchWindow1> <WatchWindow1>
<Ww> <Ww>
<count>0</count> <count>0</count>
@@ -388,8 +405,8 @@
<MemoryWindow1> <MemoryWindow1>
<Mm> <Mm>
<WinNumber>1</WinNumber> <WinNumber>1</WinNumber>
<SubType>8</SubType> <SubType>1</SubType>
<ItemText>0x0801d000</ItemText> <ItemText>0x20002700</ItemText>
<AccSizeX>0</AccSizeX> <AccSizeX>0</AccSizeX>
</Mm> </Mm>
</MemoryWindow1> </MemoryWindow1>
@@ -523,7 +540,7 @@
<OPTFL> <OPTFL>
<tvExp>1</tvExp> <tvExp>1</tvExp>
<tvExpOptDlg>0</tvExpOptDlg> <tvExpOptDlg>0</tvExpOptDlg>
<IsCurrentTarget>1</IsCurrentTarget> <IsCurrentTarget>0</IsCurrentTarget>
</OPTFL> </OPTFL>
<CpuCode>18</CpuCode> <CpuCode>18</CpuCode>
<DebugOpt> <DebugOpt>
@@ -607,7 +624,7 @@
<Type>0</Type> <Type>0</Type>
<LineNumber>959</LineNumber> <LineNumber>959</LineNumber>
<EnabledFlag>1</EnabledFlag> <EnabledFlag>1</EnabledFlag>
<Address>134254474</Address> <Address>134254714</Address>
<ByteObject>0</ByteObject> <ByteObject>0</ByteObject>
<HtxType>0</HtxType> <HtxType>0</HtxType>
<ManyObjects>0</ManyObjects> <ManyObjects>0</ManyObjects>

View File

@@ -273,4 +273,6 @@
添加重复执行指定任务的任务 添加重复执行指定任务的任务
2023.11.23 2023.11.23
EJ工厂代码otp0地址校验 EJ工厂代码otp0地址校验
2023.12.1
地址线使用下拉app中也使用断言线程栈默认填充0x23+promalloc失败直接进断言

View File

@@ -69,7 +69,8 @@ void CtrlGpio_DefInit(void)
//GPIO 配置 //GPIO 配置
GPIO_InitStructure.GPIO_Pin=SEG4_Pin|SEG3_Pin|SEG1_Pin|SEG2_Pin; GPIO_InitStructure.GPIO_Pin=SEG4_Pin|SEG3_Pin|SEG1_Pin|SEG2_Pin;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING; // GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOC,&GPIO_InitStructure); GPIO_Init(GPIOC,&GPIO_InitStructure);

View File

@@ -6,7 +6,7 @@
#define BUILD_DATE "2023-11-22 14:44:51" #define BUILD_DATE "2023-12-01 18:39:30"
#define SOFT_VERSION "2.06" #define SOFT_VERSION "2.06"

View File

@@ -176,16 +176,16 @@ void param_err_handle(const char *param,const char *file,const char *fun,int lin
void cpy4byte(uint32_t *dst,uint32_t *src,int num_4byte); void cpy4byte(uint32_t *dst,uint32_t *src,int num_4byte);
#ifdef DEBUG //#ifdef DEBUG
// 如果s==0,则打印 // 如果s==0,则打印
#define param_check(s) \ #define param_check(s) \
if((s)==0){\ if((s)==0){\
param_err_handle(#s,__FILE__,__func__,__LINE__);} param_err_handle(#s,__FILE__,__func__,__LINE__);}
#else //#else
#define param_check(s) //#define param_check(s)
#endif //#endif
#ifdef RT_THREAD #ifdef RT_THREAD

View File

@@ -82,7 +82,7 @@
// <o>The stack size of timer thread <0-8192> // <o>The stack size of timer thread <0-8192>
// <i>Default: 512 // <i>Default: 512
#define RT_TIMER_THREAD_STACK_SIZE 1024 #define RT_TIMER_THREAD_STACK_SIZE 2048
// <o>The soft-timer tick per second <0-1000> // <o>The soft-timer tick per second <0-1000>
// <i>Default: 100 // <i>Default: 100

View File

@@ -152,7 +152,7 @@ static rt_err_t _rt_thread_init(struct rt_thread *thread,
thread->stack_size = stack_size; thread->stack_size = stack_size;
/* init thread stack */ /* init thread stack */
rt_memset(thread->stack_addr, '#', thread->stack_size); rt_memset(thread->stack_addr, '#'+priority, thread->stack_size);
#ifdef ARCH_CPU_STACK_GROWS_UPWARD #ifdef ARCH_CPU_STACK_GROWS_UPWARD
thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter, thread->sp = (void *)rt_hw_stack_init(thread->entry, thread->parameter,
(void *)((char *)thread->stack_addr), (void *)((char *)thread->stack_addr),

View File

@@ -15,6 +15,7 @@ typedef struct
uint32_t memtblsize ; // 内存表大小 uint32_t memtblsize ; // 内存表大小
uint32_t memblksize; // 内存分块大小 uint32_t memblksize; // 内存分块大小
uint32_t memsize ; // 内存总大小 uint32_t memsize ; // 内存总大小
uint32_t used;
void *mutex; void *mutex;
}mallco_dev; }mallco_dev;
@@ -71,7 +72,9 @@ int mem_perused(void)
if(self->memmap[i])used++; if(self->memmap[i])used++;
} }
//return (used*100)/(self->memtblsize); //return (used*100)/(self->memtblsize);
return used; self->used=used*MEM_BLOCK_SIZE;
// 改为实际使用的字节数
return self->used;
} }
@@ -153,7 +156,7 @@ void *malloc(uint32_t size)
} }
else{ else{
used=mem_perused(); used=mem_perused();
param_check(used); param_check(0);
} }
return ret_addr; return ret_addr;
} }