Thread overview
[Hackathon] ARM Cortex-M LCD Demo
May 01, 2015
Mike
May 01, 2015
ketmar
May 01, 2015
Jeremiah DeHaan
May 04, 2015
Dan Olson
May 01, 2015
Walter Bright
May 01, 2015
A simple demonstration using D to bare-metal program and ARM Cortex-M microcontroller.  Full description with pictures and even a video can be found here:  https://github.com/JinShil/stm32f42_discovery_demo/blob/master/README.md

I know, random rectangles on a screen is not all that remarkable, but there's quite a bit of work that needs to be done before one can write their first pixel.
* Minimal D runtime
* Memory-mapped IO features
* Clock and flash memory configuration
* Software initialization (data and bss segments)
* SPI driver to configure the external LCD controller
* Internal parallel LCD controller configuration
* Hardware random number generator

EVERYTHING is in D. I've had this project on the back burner for a while, and the Hackathon gave me the excuse I needed to get it done.  I didn't put a lot of effort into the code because I just wanted to get something working to prove some ideas I had, and show that D has some potential in this domain.

I hope you find it interesting.  Ask me anything.

Mike
May 01, 2015
On Fri, 01 May 2015 15:30:21 +0000, Mike wrote:

> I know, random rectangles on a screen is not all that remarkable,

they ARE remarkable!

May 01, 2015
On Friday, 1 May 2015 at 15:37:09 UTC, ketmar wrote:
> On Fri, 01 May 2015 15:30:21 +0000, Mike wrote:
>
>> I know, random rectangles on a screen is not all that remarkable,
>
> they ARE remarkable!

I agree. This is fantastic work! I am so excited to see this.
May 01, 2015
On 5/1/15 8:30 AM, Mike wrote:
> A simple demonstration using D to bare-metal program and ARM Cortex-M
> microcontroller.  Full description with pictures and even a video can be
> found here:
> https://github.com/JinShil/stm32f42_discovery_demo/blob/master/README.md
>
> I know, random rectangles on a screen is not all that remarkable, but
> there's quite a bit of work that needs to be done before one can write
> their first pixel.
> * Minimal D runtime
> * Memory-mapped IO features
> * Clock and flash memory configuration
> * Software initialization (data and bss segments)
> * SPI driver to configure the external LCD controller
> * Internal parallel LCD controller configuration
> * Hardware random number generator
>
> EVERYTHING is in D. I've had this project on the back burner for a
> while, and the Hackathon gave me the excuse I needed to get it done.  I
> didn't put a lot of effort into the code because I just wanted to get
> something working to prove some ideas I had, and show that D has some
> potential in this domain.
>
> I hope you find it interesting.  Ask me anything.
>
> Mike

Awesome work!

http://www.reddit.com/r/programming/comments/34k3aq/arm_cortexm_lct_demo_written_in_minimal_runtime_d/

https://www.facebook.com/dlang.org/posts/1060869977260016

https://twitter.com/D_Programming/status/594245030677741569


Andrei
May 01, 2015
On 5/1/2015 2:01 PM, Andrei Alexandrescu wrote:
> On 5/1/15 8:30 AM, Mike wrote:
>> A simple demonstration using D to bare-metal program and ARM Cortex-M
>> microcontroller.  Full description with pictures and even a video can be
>> found here:
>> https://github.com/JinShil/stm32f42_discovery_demo/blob/master/README.md
> Awesome work!
> http://www.reddit.com/r/programming/comments/34k3aq/arm_cortexm_lct_demo_written_in_minimal_runtime_d/

Yes, pretty dazz. Mike, if you could hang out a bit on reddit and make an "ask me anything" post, that would help a lot.

May 04, 2015
"Jeremiah DeHaan" <dehaan.jeremiah@gmail.com> writes:

> On Friday, 1 May 2015 at 15:37:09 UTC, ketmar wrote:
>> On Fri, 01 May 2015 15:30:21 +0000, Mike wrote:
>>
>>> I know, random rectangles on a screen is not all that remarkable,
>>
>> they ARE remarkable!
>
> I agree. This is fantastic work! I am so excited to see this.

Me too! True embedded work should be a sweet spot for D. Too bad we can't grab 2-3 developers and give them 3-months budget and time to hack out all the necessary parts for an embedded toolchain,libs,and methodolgy based entirely on D. Anybody thought of porting relavant parts of say newlib to D?
--
Dan Olson