Got Kotlin working on STM32 based bluepill board($2).
HN user
justavm
Thank you for the reddit help. Will love to get your professional detailed opinion for my project, thanks in advance.
It is doable, but I do not believe existing java libraries not written well enough to perform great and consume less space.
I do believe in separating code between the fast and slow path. My goal is to bring open source, well optimized common libraries to VM world.
Platform can handle a simple http server with a NIC as of today but with custom apis.
Kotlin and groovy works for hello world, did not tried further as I am thinking of bringing those languages by eliminating Java ties. I am aware of Kotlin native but 200K for a hello world is not reasonable. I can fit in 21K for VM.
If you have killer app idea for this platform I can make it happen in a very short period of time.
I will love to do a demo to you. I can provide a demo sdk if you want to give it a try.
What are the top 3 reasons you prefer C++ to Java for embedded systems?
Do you have a killer project for students in your mind which will help them learn with fun with this?
I was trying get info more around hw/sw startup bootstrapping, not pure embedded systems related topics. Rust is great might replace C in near future. I do like discussions around programming languages. I do believe Covid will change the definition of the next Uber a lot but i got your point.
I would love to hear your comments about the post i did recently, thanks in advance.
https://news.ycombinator.com/item?id=23025510 https://news.ycombinator.com/item?id=23036604
Please get professional help, do no underestimate the importance. I do believe another undertaken advice is around hitting the gym. Try to find the root cause. Write down every small tasks in your mind into a notebook and clear them one by one.
Any feedback is appreciated!
Below is the sample code and the apis;
package demo; import eapi.*;
public class App {
public static void main(String args[]) {
final Led led = Led.init('C', 13); // Port C Pin 13
PushButton pushButton = PushButton.init('A',
8, //Port A Pin 8
GPIO.INPUT_PULL_UP,
GPIO.FALLING_EDGE,
200, //debounce
(time) -> {
Core.println("push button event");
led.flip();
});
while (true) {
Looper.loop();
}
}Analog.inSetup(Analog.IN1); Analog.read(Analog.IN1);
Analog.outSetup(Analog.OUT5); Analog.write(Analog.OUT5, (short)255);
I2C.setup(I2C.I2C2, 400); SPI.setup(SPI.SPI_ID2, 0, SPI.SPI_MODE_3, SPI.SPI_FB_MSB);
References: https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html