Page 1 of 1

ARMv8 (AArch64) port

Posted: Thu Nov 12, 2015 8:01 pm
by pfalcon
I built and tested MicroPython on a DragonBoard 410c board (of 96Board initiative), running a 64-bit ARMv8 processor. The latest git master builds out of the box and passes the testsuite. (Native and Viper codegenerators are of course not supported as they weren't coded.) This is second tested 64-bit target for MicroPython, after x86_64.

Re: ARMv8 (AArch64) port

Posted: Mon Dec 14, 2015 4:00 pm
by platforma
Got my 410c the other day, planning to try build/flash and some IO experiments maybe.
@pfalcon, latest master flashed with no problems at all for you?

Re: ARMv8 (AArch64) port

Posted: Fri Dec 18, 2015 5:29 pm
by pfalcon
I didn't work on it since the original post. And to clarify, I of course ran unix port, under Linux. So, I didn't "flash" it, just build and ran directly on the board.

Re: ARMv8 (AArch64) port

Posted: Sat May 14, 2016 1:05 pm
by pfalcon
Recently, a build issue was fixed in the master of AArch64. And some examples on accessing GPIO hardware registers on Dragonboard410c from userspace were posted: https://github.com/pfalcon/snapdragon410-mmio-gpio

Re: ARMv8 (AArch64) port

Posted: Wed Jun 15, 2016 11:49 am
by pfalcon
Believe it or not, but this "cute embedded nonsense hack" (tm) caught attention of Qualcomm, the vendor of Dragonboard, who even wanted to feature it in their blog: http://forum.micropython.org/viewtopic.php?f=8&t=2038

Re: ARMv8 (AArch64) port

Posted: Tue Sep 13, 2016 12:59 am
by joehunt588
hello,
i also interest to do upython on DragonBoard410c, may i know where i can get reference to build fw for this board ,can i use this FW :http://micropython.org/download/ or can link me a tutorial to build this board FW,

Re: ARMv8 (AArch64) port

Posted: Tue Sep 13, 2016 4:02 am
by dhylands

Code: Select all

git clone https://github.com/micropython/micropython
cd micropython/unix
CROSS_COMPILE=arm-linux-gnuabi- make
You may need to tweak the CROSS_COMPILE portion depending on the toolchain you're actually using,
linux running on the DragonBoard is essentially the same as linux running on your host except its running a different CPU.

Re: ARMv8 (AArch64) port

Posted: Tue Sep 13, 2016 6:54 am
by joehunt588
Thanks dhylands ;) ,
if i using this debian for DragonBoard 410c https://github.com/96boards/documentati ... nd-Android do i need to tweak the cross compiler?,is there any tutorial or link i can learn to tweak?,and if cross compiler is success to call i2c can i do this :-

from pyb import I2C
i2c = I2C(1)
i2c = I2C(1, I2C.MASTER)
i2c.init(I2C.MASTER, baudrate=20000)
i2c.init(I2C.SLAVE, addr=0x42)
i2c.deinit()
:?:

Re: ARMv8 (AArch64) port

Posted: Tue Sep 13, 2016 8:29 am
by platforma
joehunt588 wrote:if i using this debian for DragonBoard 410
What Dave was referring to is cross-compiling the code on your host OS, to execute on the DragonBoard, which is ARM architecture. Thus you have to cross-compile in order for it to run, and you need an ARM compiler, for example arm-linux-gnueabi, you can find lots of info about it online. The best tutorial is to run what Dave suggested and see if any issues arise, and read the Makefile of course!

To answer the second question, no, I2C will not magically run with DragonBoard GPIO, you would have to write your own wrapper. It will merely do everything the current micropython unix port does.

Unfortunately I had no progress on the board and it's currently just gathering dust on my shelf.

Re: ARMv8 (AArch64) port

Posted: Wed Sep 14, 2016 12:40 am
by joehunt588
Now i understand,thank you platforma,its time for me to learn c also :D

Thank you guy