ARMv8 (AArch64) port

C programming, build, interpreter/VM.
Target audience: MicroPython Developers.
pfalcon
Posts: 893
Joined: Fri Feb 28, 2014 2:05 pm

ARMv8 (AArch64) port

Postby pfalcon » Thu Nov 12, 2015 8:01 pm

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.

User avatar
platforma
Posts: 257
Joined: Thu May 28, 2015 5:08 pm
Location: UK

Re: ARMv8 (AArch64) port

Postby platforma » Mon Dec 14, 2015 4:00 pm

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?

pfalcon
Posts: 893
Joined: Fri Feb 28, 2014 2:05 pm

Re: ARMv8 (AArch64) port

Postby pfalcon » Fri Dec 18, 2015 5:29 pm

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.

pfalcon
Posts: 893
Joined: Fri Feb 28, 2014 2:05 pm

Re: ARMv8 (AArch64) port

Postby pfalcon » Sat May 14, 2016 1:05 pm

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

pfalcon
Posts: 893
Joined: Fri Feb 28, 2014 2:05 pm

Re: ARMv8 (AArch64) port

Postby pfalcon » Wed Jun 15, 2016 11:49 am

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: viewtopic.php?f=8&t=2038

joehunt588
Posts: 26
Joined: Wed Jul 27, 2016 5:06 am

Re: ARMv8 (AArch64) port

Postby joehunt588 » Tue Sep 13, 2016 12:59 am

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,

User avatar
dhylands
Posts: 2252
Joined: Mon Jan 06, 2014 6:08 pm
Location: Shuswap, BC, Canada
Contact:

Re: ARMv8 (AArch64) port

Postby dhylands » Tue Sep 13, 2016 4:02 am

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.

joehunt588
Posts: 26
Joined: Wed Jul 27, 2016 5:06 am

Re: ARMv8 (AArch64) port

Postby joehunt588 » Tue Sep 13, 2016 6:54 am

Thanks dhylands ;) ,
if i using this debian for DragonBoard 410c https://github.com/96boards/documentation/wiki/Dragonboard-410c-Installation-Guide-for-Linux-and-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()
:?:

User avatar
platforma
Posts: 257
Joined: Thu May 28, 2015 5:08 pm
Location: UK

Re: ARMv8 (AArch64) port

Postby platforma » Tue Sep 13, 2016 8:29 am

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.

joehunt588
Posts: 26
Joined: Wed Jul 27, 2016 5:06 am

Re: ARMv8 (AArch64) port

Postby joehunt588 » Wed Sep 14, 2016 12:40 am

Now i understand,thank you platforma,its time for me to learn c also :D

Thank you guy


Return to “Development of MicroPython”

Who is online

Users browsing this forum: Google [Bot], Yahoo [Bot] and 2 guests