Skip to main content
Lead
September 4, 2024
Solved

Working custom board for STM32MP151 - Found the solution

  • September 4, 2024
  • 2 replies
  • 1345 views

Hi!

I notice one thing when I build my STM32MP151 custom board and implemented OpenSTLinux with my own .dtb and Linux kernel.

I hade enormous issues to get a basic setup of STM32MP151 up and running with Linux. I found out that the Linux kernel is destroying the working queue, which results that the linux kernel halts.

I have posted the working custom board for STM32MP151 project here. Give it a star so other knows that this is a working board for STM32MP151.

https://github.com/DanielMartensson/STM32-Computer/ 

Question:

When I comment this line in the file kernel/trace/trace.c, my board just works like a charm. So why is it that? I need to disable the destruction of the working queue eval_map_wp in order to make the board lose it's critical errors?

 

 

static int __init trace_eval_sync(void)
{
	/* Make sure the eval map updates are finished */
	if (eval_map_wq){
		/*destroy_workqueue(eval_map_wq); */
	}
	return 0;
}

 

 

 Feel free to download the gerber files and build the board. The unique thing with the board, is that it has no SD-card slot. Only an eMMC that being flashed through the USB OTG. The manufacturing cost is about 100 USD for a total build. Compare that to STM32MP157-EV board which cost 470 USD.

Best answer by DMårt

@Olivier GALLIEN 

Why? I bet a lot of people understand that this is more like a hack, rather than a proper solution.

The best way for ST is to understand why this is happening. I think it's the I2C4 device that being destroyed.

I'm not going to create another thread about the same topic. 

If you want to debug, just build my board and try to boot the kernel :)

2 replies

Olivier GALLIEN
Technical Moderator
September 6, 2024

Hi @DMårt ,

 

Thanks for sharing this initiative. 

 

I need to warn you and anyone reading this post and your github that the solution you expose seems not appropriate.

Can you please open a specific topic describing the original issue you faced. 

 

Thanks

 

Olivier 

Olivier GALLIEN In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
DMårtAuthorBest answer
Lead
September 6, 2024

@Olivier GALLIEN 

Why? I bet a lot of people understand that this is more like a hack, rather than a proper solution.

The best way for ST is to understand why this is happening. I think it's the I2C4 device that being destroyed.

I'm not going to create another thread about the same topic. 

If you want to debug, just build my board and try to boot the kernel :)

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-ComputerSTM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer
DMårtAuthor
Lead
September 10, 2024

@Olivier GALLIEN 

Can you give me the configuration to the working queue? I mean, where can I disable which device that should be included inside the working queue?

STM32MP151AAC3 custom board with STM32-OS as operating system: https://github.com/DanielMartensson/STM32-ComputerSTM32MP257FAK3 custom board with STM64-OS as operating system: https://github.com/DanielMartensson/STM64-Computer