SargisYonan / uLAPack

Micro Linear Algebra Package
http://www.yonan.org/ulapack
Other
34 stars 11 forks source link

Added support for MCUs #1

Open wuhanstudio opened 4 years ago

wuhanstudio commented 4 years ago

Hi, Sargis,

I received your email and I thought it might be much better to post it here to introduce uLapack to more developers. Actually, I'm trying to run uLapack on MCUs,

As described in README:

The library is optimized to work on microcontrollers and embedded environments

But the test file seems to be targeting on PCs, so I think it may be interesting to test it on MCUs like STM32:

STM32

And it works, here's the demo video working on STM32L476 with 96KB RAM:

msh

The RTOS running on STM32 is RT-Thread, a burgeoning RTOS in China that supports STM32, RISC-V, LPC, Cortex-A, x86, virtually all mainstream MCUs and SoCs. Now that uLapack is working on RT-Thread, it should be working on all of these platforms.

Recently, I'm trying to add uLapack and uKal as a package on RT-Thread which can be chosen through package manager and it's almost done:

menuconfig

I forked your project so that everyone using this package can find your original project. I'm wondering if there is any other licence required to add uLapack and uKal as packages into RT-Thread.

I think it is really interesting to see uLapack and uKal working on so many hardware platforms.


Han Wu, Master Student School of Energy and Power Engineering Huazhong University of Science and Technology Email: wuhanstudio@hust.edu.cn Website: http://wuhanstudio.cc

SargisYonan commented 4 years ago

I’m happy to see you using both uKal and uLAPack!

I had success with running the packages on a bare metal AVR microcontroller with no RTOS, as I wrote both packages with bare metal micros in mind. I’m glad that you got it to work using your RTOS and hardware of choice.

I appreciate you forking the project and continuing to develop on it. If you need any help with anything please let me know.

I’d be happy to work some sort of a license out for the RTThread package manager. I’ll get back to you on that when I get a chance.

—Sargis

wuhanstudio commented 4 years ago

Wow, it works on AVR microcontrollers which have less FLASH and RAM resources than STM32 and GD32 (RISC-V).

If you are interested, you may try to build a RTT firmware on Ubuntu, and test it on STM32:

https://asciinema.org/a/272412

(Seems asciinema is not working well wit KConfig)

Here's another demo showing how uLapack works on STM32 which is more clear:

https://asciinema.org/a/272413

By the way, these are recordings of terminals, so you can just pause and copy commands from the video which is really interesting.

asciinema

SargisYonan commented 4 years ago

That’s awesome! Did you help write RTThread? I’ll check it out on my STM32 when I get a chance!

wuhanstudio commented 4 years ago

That’s awesome! Did you help write RTThread? I’ll check it out on my STM32 when I get a chance!

I created several PR for RT-Thread as a developer from community, but I'm still a student now. RT-Thread really makes development on embedded systems fast and cross-platform.

SargisYonan commented 4 years ago

I’ll certainly check out rt-thread on my stm32f7 next time I get a chance. Thanks for letting me know about it