Products > Other Equipment & Products

CFW for KSGER/Quicko STM32 Soldering Stations

<< < (483/624) > >>

DavidAlfa:
The pointer is valid, the struct data is shown in the Variables window.
Is it failing at the null check?
Otherwise step the function until something returns HAL_ERROR.

I see you're running v1.8.0, I'm still using v1.7.0.
Let me update and check few things... That part is 100% ST code, not made by me, and it's not strange that new versions come with bugs.

Edit: v1.8.0 working correctly here. Run "Step into" in HAL_RCC_OSccconfig and check what line is failing.

TeamTeacup:
It halts at 'if (RCC_OscInitStruct == NULL)' while the value for it is 0x200027c0   .

DavidAlfa:
Doesn't make any sense at all  :o

TeamTeacup:
It doesn't make sense to me either, I'd suspect an issue with the STM32 itself but the OFW functions perfectly.

DavidAlfa:
Maybe a defective stm32 or whatever. This fw uses a lot more of resources from the stm32... weird.

A simple test... what happens?

--- Code: ---HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef  *RCC_OscInitStruct)
{
  uint32_t tickstart;
  uint32_t pll_config;

  uint32_t *p = NULL;

  if (p==NULL){
    asm("nop");                           // Expected
  }
  p= (uint32_t*)RCC_OscInitStruct;       // Copy the pointer
asm("nop");                              // p should have nowthe same value as RCC_OscInitStruct
  if (p==(uint32_t*)RCC_OscInitStruct && p!=NULL){
    asm("nop");                          // Now it should should land here
  }
  else if(p==NULL){
    asm("nop");                          // Empty?
  }
  else{
    asm("nop");                          // Not the same value as RCC_OscInitStruct?
  }

--- End code ---


Also check this. In main.c

--- Code: ---void malloc_fragmentation_fix(void){
  uint32_t *ptr = NULL;
  uint32_t try=17408;
  while(!ptr && try){
    ptr = _malloc(try);
    try-=16;
  }
  _free(ptr);       // Set a breakpoint here. What's the value of "try"? Just put the mouse over it, the value should pup-up.
                    // The value should be  0x10A0 / 4256 (bytes)

--- End code ---

Navigation

[0] Message Index

[#] Next page

[*] Previous page

There was an error while thanking
Thanking...
Go to full version