Profile

Cover photo
Álvaro Lopes
Works at Critical Software
Lives in Coimbra
258 followers|96,559 views
AboutPostsPhotosYouTube

Stream

Álvaro Lopes

Shared publicly  - 
 
Getting ready for another Trail.

This time is "Estrela Grande Trail", a dual trail in Portugal biggest mountain, Serra da Estrela. Panel will be displaying trail time, images, and other goodies.

http://www.estrelagrandetrail.pt/
5
1
António Rio Costa's profile photoPedro Gordo's profile photo
 
Working out.. Hard..
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Alvie's IoT panel has reached a milestone.

Communications between programmer and ESP rock, with a minor modification to "esptool.py": it assumes we use DTR as a reset line for ESP8266. and RTS as programmin mode (GPIO0), which is not the case: the CPLD on this design is smart enough to detect programming mode, so no "unusual" tricks are necessary to program it (just serial connect, and there you go, if you want a usual serial line just disconnect DTR).

Still to test hardest part: ESP is sending data @80Mbit/s, I don't actually have a scope, but I do want to look at waveforms before I write ESP code to drive the panel(s).

I do see some flickering in CLK and MOSI lines, but at this speed it's not clear for me it they are right (I'm using an arduino as scope, analog).
1
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
So, finally QEMU is cooperating.

Almost running DOOM on QEMU. Still need to implement the indexed graphical core.

But still a bug somewhere in code generation. QEMU can be tricky when you need delay slots.
2
Add a comment...

Álvaro Lopes

Shared publicly  - 
1
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Starting to take shape.
I'm actually impressed with #QEMU. I believe I spent less than 16 hours to get it up and running with a new CPU, and with me ramping up on QEMU internals (including TCG).

$ xtc-softmmu/qemu-system-xtc -serial stdio
XThunderCore Boot Loader v0.1 (C) 2014 Alvaro Lopes
Testing 0x0800000 bytes of memory: qemu: terminating on signal 2

Good, good.
5
1
André Esteves's profile photo
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Impecável.
1
Add a comment...
In his circles
204 people
Have him in circles
258 people
Florentino Vieira's profile photo
Luís Cruz's profile photo
Hugo Paredes's profile photo
Joaquim Mendes's profile photo
Rui Ferreira's profile photo
António Howcroft Ferreira's profile photo
Augusto Campos's profile photo
José Rui Simões's profile photo
peterson chicale's profile photo

Álvaro Lopes

Shared publicly  - 
 
And IoT Panel controller... works :)

Right now, single bit per pixel color (3 bits total). WiFI also working (I can ping the panel perfectly).

The joys of the Internet Of Things #IoT  
7
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Weekend work: #XTC / QEMU: Code gen bugs fixed. QEMU now running well, with SPI flash and SD card. And an indexed 320x240 VGA adaptor.
 
This will allow me to test XThunderCore fixes/improvements in compiler/assembler and linker, without having to use a board. It also features trace buffer (memory) or full instruction trace to a file.

Those that do not know what I am talking about: XTC (XThunderCore) is a new CPU I am designing, a RISC-like 32-bit, with usual features found in modern CPUs. It's aimed at FPGAs.

So, does it work ? Well, figure out for yourself:
2
André Lemos's profile photo
 
you da man!
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Leandro: also please explain programmers how to properly use sizeof() for arrays:

struct foo {
 /* Whatever, we don't care about contents here */
}

static struct foo arrayOfFoo[NATURAL];

void someFunctionThatClearsOneItemOfFoo(int index)
{
    memset(&arrayOfFoo[index], 0, sizeof(arrayOfFoo[0]));
}
 
On the blog: New trick to allocate (from the heap) and initialize a memory block.
Note that struct foobaz is passed instead of struct foobar. We might get lucky, and sizeof(struct foobaz) might be larger or equal than sizeof(struct foobar), but we might not. There are lots of tools out there that will catch these mistakes: static analyzers such as the one from Clang, ...
3 comments on original post
1
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
So.... for IoT panel:

Boards arrived. Good quality overall. Excellent work SeedStudio, although the silkscreen is not that good (but my bad).
All components except one arrived. This includes ESP8266, Xilinx CPLD, 3.3 LDO, resistors, caps.
Only a small 1.8V LDO missing... and I got wrong order from China: despite buying quite a few LDO (300 in total - 1.8V and 1.2V) and other misc components... package only had a F5044H. Someone shipped wrong order to the wrong address.
So I had to buy these from UK. A set of 100 pieces from China was about £3 (free shipping), I paid almost £6 for three (yes, 3) from UK, with shipping.
So, honestly, I'm not that happy today.
3
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
ZPUino with Papilio DUO and the new generic VGA adaptor. Image is 640x480 JPEG (decoded by ZPUino from SDcard), screen resolution is 1024x768 60Hz, RGB332 (8-bit per pixel). 1280x1024 almost works - memory bandwidth is too low, and screen flickers if CPU accesses memory too often. #ZPUino
1
Add a comment...

Álvaro Lopes

Shared publicly  - 
 
Bottom side of Panel board. You can see the ESP8266 pads (module not shown). Besides it, only a few caps and resistors.
1
Add a comment...
People
In his circles
204 people
Have him in circles
258 people
Florentino Vieira's profile photo
Luís Cruz's profile photo
Hugo Paredes's profile photo
Joaquim Mendes's profile photo
Rui Ferreira's profile photo
António Howcroft Ferreira's profile photo
Augusto Campos's profile photo
José Rui Simões's profile photo
peterson chicale's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Coimbra
Links
Contributor to
Work
Employment
  • Critical Software
    present
Basic Information
Gender
Male