I am not sure if I am asking here at the right place, so I try. Excuse my long message, I want to give you as many details as possible.
I want to use the cheaper "
NanoPI M1" instead of an Raspberry Pi for controlling hardware, robotics, ..., where a Microcontroller (even a powerful PIC18F67J60) is insufficient. This NanoPI M1 uses an "
Allwinner H3" chip, a very powerful 4-core 32-Bit model.
As the only working Linux I found "DietPi" (I would love to use openSUSE, but there is no working one). I was able to install DietPi and also to install FreePascal 2.6.4 and started testing:
"Hello World" is working, so the compiler is basically fine - but this is not want I finally want to do.
So I started to play with GPIO, but here I have extreme troubles. Currently a simple LED is connected between Pins 6 (GND) and 12 (GPIO18), of course with a resistor in series, and as first test I simply wanted to control it from FreePascal. But until now I found absolutely no way to get it ON. Not from bash, and also not from FPC.
I downloaded the entire rpi_hal and the testing program from here (
https://github.com/rudiratlos/rpi-hal), compiled it, and gave it a try. The test program crashes with an "Access Violation" after showing CPU details.
This is what I get (with already activated debug info):...
CLK max : 500.00 MHz
PWMHW min: 1.00 Hz
PWMHW max: 18.75 kHz
GPIOBase : 20200000
Adr(1F-00) : FEDC BA98 7654 3210 FEDC BA98 7654 3210
An unhandled exception occurred at $00054088 :
EAccessViolation : Access violation
$00054088 BCM_GETREG, line 2968 of rpi_hal.pp
$00056E3C SHOW_REG, line 3416 of rpi_hal.pp
$00057258 SHOW_REGS, line 3435 of rpi_hal.pp
$000573AC SHOW_REGS, line 3440 of rpi_hal.pp
$000573FC GPIO_SHOW_REGS, line 3442 of rpi_hal.pp
$0006C22C RPI_SHOW_ALL_INFO, line 6289 of rpi_hal.pp
$00010734 main, line 18 of testrpi.pp
2017-01-10 08:55:31 ERR pfio_exit: Exitcode: 217
2017-01-10 08:55:31 ERR RPI_hal_exit: Exitcode: 217It seems that there is an incompatibility to the "Allwinner H3 CPU inside the NanoPI M1".

Is there a way to get this working?
I am no specialist in coding at that deep and hardware-dependent level, so I kindly please for help.