November 22, 2024, 12:35:59 PM

Recent posts

#11
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by LubOlimex - November 20, 2024, 12:04:47 PM
Better try with the ID of T2-SOM204-1Gs16Me8G-MC-I.
#12
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by LubOlimex - November 20, 2024, 12:03:45 PM
The problem is visible in the log - the board boot defaults to some generic config - this is pretty major problem.

The fast way to boot would probably be to try a workaround then, put some board that is nearly identical via the u-boot. Set is like the older board "T2-SOM204-1Gs16Me8G-MC-I". Do he following:

- run your Armbian image but interrupt u-boot

- type:

olinuxino config write 10234 C2 0002AC2C 30:1F:9A:D1:67:37

then type:

saveenv

then

reset

See if it boots.

#13
A20 / virtual temperature measuremen...
Last post by Hattes - November 20, 2024, 11:59:03 AM
Target is to use Lime2 as a "virtual temperature measurement" instead of real NTC to fool a heat pump. how to get analog output to Lime2 or other ideas how to make a virtual NTC?
#14
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by Titomax - November 20, 2024, 11:41:30 AM
Hi Lub,
just an update.

I modified EEPROM data from U-boot console using the command:

olinuxino config write 8958 c 11112222 aa:bb:cc:dd:ee:ff
I set the info from my specified SOM module changing only the ID from 11462 to 8958 so that the SOM is now identified as "A20-SOM204-1Gs16Me16G-MC".

Now all is working as expected.
I put a system under test to see if malfunctions appear.

What kind of modifications are present on the U-boot or image switching from COMMERCIAL to INDUSTRIAL grade ID ?
Are there any driver specific modifications to support different grade IC ?

Please let me know if this approach can be used without encountering stability issues.


#15
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by Titomax - November 20, 2024, 10:31:46 AM
Hi Lub,
the system doesn't boot from the SD card.
The same SD card boots from the EVB but using the previous T2 board with 8GB eMMC.

The Armbian image we are using is using ID recognition and I verified that the ID for the T2 16 GB is missing.

We cannot touch the Armbian image. How can I make U-boot start correctly ?

Can I modify the EEPROM so that U-boot can recognize the board as a different one already managed ?
If I change the ID so the U-boot see the board as a "A20-SOM204-1Gs16Me16G-MC - 8958" ? May I encounter compatibility problem ?

See the output from the U-boot console using "olinuxino config list" command:

ARMBIAN IMAGE:
=> olinuxino config info
Model:  Rev.C2
Serial:0002AC2C
MAC:  30:1F:9A:D1:67:37
=> olinuxino config list

Supported boards:
----------------------------------------
A20-OLinuXino-LIME            - 7739
A20-OLinuXino-LIME-n4GB        - 7743
A20-OLinuXino-LIME-n8G        - 8934
A20-OLinuXino-LIME-s16MB      - 9076
A20-OLinuXino-LIME-e16Gs16M    - 9516
A20-OLinuXino-LIME-e4Gs16M    - 9696
T2-OLinuXino-LIME-IND          - 9211
T2-OLinuXino-LIME-s16M-IND    - 9215
T2-OLinuXino-LIME-e4G-IND      - 9219
T2-OLinuXino-LIME-e4Gs16M-IND  - 9734
A20-OLinuXino-LIME2            - 7701
A20-OLinuXino-LIME2-e4GB      - 8340
A20-OLinuXino-LIME2-e16GB      - 9166
A20-OLinuXino-LIME2-n4GB      - 7624
A20-OLinuXino-LIME2-n8GB      - 8910
A20-OLinuXino-LIME2-s16MB      - 8946
A20-OLinuXino-LIME2-e16Gs16M  - 9604
A20-OLinuXino-LIME2-e4Gs16M    - 9613
A20-OLinuXino-LIME2-G2        - 9905
T2-OLinuXino-LIME2-IND        - 9239
T2-OLinuXino-LIME2-s16MB-IND  - 9247
T2-OLinuXino-LIME2-e8Gs16M-IND - 9243
A20-OLinuXino-MICRO            - 4614
A20-OLinuXino-MICRO-n4GB      - 4615
A20-OLinuXino-MICRO-e4GB-IND  - 8661
A20-OLinuXino-MICRO-IND        - 8828
A20-OLinuXino-MICRO-e4GB      - 8832
A20-OLinuXino-MICRO-n8G        - 8918
A20-OLinuXino-MICRO-e16G      - 9042
A20-OLinuXino-MICRO-s16MB      - 9231
A20-OLinuXino-MICRO-e4Gs16M    - 9684
A20-OLinuXino-MICRO-e16Gs16M  - 9689
T2-OLinuXino-MICRO-IND        - 9223
T2-OLinuXino-MICRO-e4GB-IND    - 9227
T2-OLinuXino-MICRO-s16MB-IND  - 9235
T2-OLinuXino-MICRO-e4Gs16M-IND - 9739
T2-OLinuXino-MICRO-e4Gs16M-IND - 9789
A20-SOM-n4GB                  - 4673
A20-SOM                        - 7664
A20-SOM-IND                    - 8849
A20-SOM-n8GB                  - 8922
A20-SOM-e16GB                  - 9155
A20-SOM-e16GB-IND              - 9148
A20-SOM-e16Gs16M              - 9047
T2-SOM-IND                    - 9259
T2-SOM-e8Gs16M-IND            - 9827
A20-SOM204-1G                  - 8991
A20-SOM204-1Gs16Me16G-MC      - 8958
A20-SOM204-1G-M                - 10257
T2-SOM204-1Gs16Me4G-C-I        - 10157
T2-SOM204-1Gs16Me8G-MC-I      - 10234
T2-SOM204-1G-I                - 10238

LATEST OFFICIAL IMAGE:

=> olinuxino config info
ID:    T2-SOM204-1Gs16Me16G-MC-I Rev.C2
SN:    0002AC2C
MAC:  30:1F:9A:D1:67:37
=> olinuxino config list

Supported boards:
----------------------------------------
A20-OLinuXino-LIME            - 7739
A20-OLinuXino-LIME-n4GB        - 7743
A20-OLinuXino-LIME-n8G        - 8934
A20-OLinuXino-LIME-s16MB      - 9076
A20-OLinuXino-LIME-e4GB        - 9160
A20-OLinuXino-LIME-e16Gs16M    - 9516
A20-OLinuXino-LIME-e4Gs16M    - 9696
T2-OLinuXino-LIME-IND          - 9211
T2-OLinuXino-LIME-s16MB-IND    - 9215
T2-OLinuXino-LIME-e4G-IND      - 9219
T2-OLinuXino-LIME-e4Gs16M-IND  - 9734
T2-OLinuXino-LIME-e8Gs16M-IND  - 10481
T2-OLinuXino-LIME-e16Gs16M-IND - 11444
A20-OLinuXino-LIME2            - 7701
A20-OLinuXino-LIME2-e4GB      - 8340
A20-OLinuXino-LIME2-e16GB      - 9166
A20-OLinuXino-LIME2-n4GB      - 7624
A20-OLinuXino-LIME2-n8GB      - 8910
A20-OLinuXino-LIME2-s16M      - 8946
A20-OLinuXino-LIME2-e16Gs16M  - 9604
A20-OLinuXino-LIME2-e4Gs16M    - 9613
A20-OLinuXino-LIME2-G2        - 9905
T2-OLinuXino-LIME2-IND        - 9239
T2-OLinuXino-LIME2-s16M-IND    - 9247
T2-OLinuXino-LIME2-e8Gs16M-IND - 9243
T2-OLinuXino-LIME2-e16Gs16M-IND - 11439
A20-OLinuXino-MICRO            - 4614
A20-OLinuXino-MICRO-n4GB      - 4615
A20-OLinuXino-MICRO-e4GB-IND  - 8661
A20-OLinuXino-MICRO-IND        - 8828
A20-OLinuXino-MICRO-e4GB      - 8832
A20-OLinuXino-MICRO-n8G        - 8918
A20-OLinuXino-MICRO-e16G      - 9042
A20-OLinuXino-MICRO-s16M      - 9231
A20-OLinuXino-MICRO-e4Gs16M    - 9684
A20-OLinuXino-MICRO-e16Gs16M  - 9689
T2-OLinuXino-MICRO-IND        - 9223
T2-OLinuXino-MICRO-e4G-IND    - 9227
T2-OLinuXino-MICRO-s16M-IND    - 9235
T2-OLinuXino-MICRO-e4Gs16M-IND - 9739
T2-OLinuXino-MICRO-e8Gs16M-IND - 9789
T2-OLinuXino-MICRO-e16Gs16M-IND - 11449
A20-SOM-n4GB                  - 4673
A20-SOM                        - 7664
A20-SOM-IND                    - 8849
A20-SOM-n8GB                  - 8922
A20-SOM-e16GB                  - 9155
A20-SOM-e16GB-IND              - 9148
A20-SOM-e16Gs16M              - 9047
T2-SOM-IND                    - 9259
T2-SOM-e8Gs16M-IND            - 9827
T2-SOM-e16Gs16M-IND            - 11454
A20-SOM204-1G                  - 8991
A20-SOM204-1Gs16Me16G-MC      - 8958
A20-SOM204-1G-M                - 10257
T2-SOM204-1Gs16Me4G-C-I        - 10157
T2-SOM204-1Gs16Me8G-MC-I      - 10234
T2-SOM204-1Gs16Me16G-M-I      - 11458
T2-SOM204-1Gs16Me16G-MC-I      - 11462
T2-SOM204-1G-I                - 10238

FAILED BOOT LOG FROM ARMBIAN IMAGE :

U-Boot SPL 2019.04-armbian (Feb 22 2021 - 16:44:34 +0100)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
EEPROM: Ready
Config: Valid
Trying to boot from MMC1


U-Boot 2019.04-armbian (Feb 22 2021 - 16:44:34 +0100) Allwinner Technology

CPU:   Allwinner A20 (SUN7I)
Model:  Rev.C2
Serial:0002AC2C
MAC:   30:1F:9A:D1:67:37
I2C:   ready
DRAM:  1 GiB
NAND:  0 MiB
MMC:   mmc@1c0f000: 0, mmc@1c12000: 1
Loading Environment from EXT4... OK
Setting up a 800x480 lcd console (overscan 0x0)
In:    serial
Out:   vga
Err:   vga
Allwinner mUSB OTG (Peripheral)
Net:   eth0: ethernet@1c50000
starting USB...
USB0:   USB EHCI 1.00
USB1:   USB OHCI 1.0
USB2:   USB EHCI 1.00
USB3:   USB OHCI 1.0
scanning bus 0 for devices... 1 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning bus 2 for devices... 1 USB Device(s) found
scanning bus 3 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3798 bytes read in 4 ms (926.8 KiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
204 bytes read in 2 ms (99.6 KiB/s)
8443205 bytes read in 472 ms (17.1 MiB/s)
7590712 bytes read in 424 ms (17.1 MiB/s)
Found mainline kernel configuration
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
## Loading init Ramdisk from Legacy Image at 43200000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    8443141 Bytes = 8.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
SCRIPT FAILED: continuing...
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot/boot.scr
3798 bytes read in 2 ms (1.8 MiB/s)
## Executing script at 43100000
U-boot loaded from SD
Boot script loaded from mmc
204 bytes read in 1 ms (199.2 KiB/s)
8443205 bytes read in 474 ms (17 MiB/s)
7590712 bytes read in 422 ms (17.2 MiB/s)
Found mainline kernel configuration
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
No FDT memory address configured. Please configure
the FDT address via "fdt addr <address>" command.
Aborting!
## Loading init Ramdisk from Legacy Image at 43200000 ...
   Image Name:   uInitrd
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    8443141 Bytes = 8.1 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
ERROR: Did not find a cmdline Flattened Device Tree
Could not find a valid device tree
SCRIPT FAILED: continuing...
NAND booting is temporary disabled.
scanning bus for devices...
SATA link 0 timeout.
AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl SATA mode
flags: ncq stag pm led clo only pmp pio slum part ccc apst

Device 0: unknown device

Device 0: unknown device
DMA reset timeout
DMA reset timeout
=>
#16
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by LubOlimex - November 20, 2024, 10:10:47 AM
It doesn't boot from the SD card? Or it doesn't boot form the eMMC?

What exactly is the boot log of a failed boot?

Notice that your issue is different form the issue of the poster above you. He used old Olimage, you use entirely different image (Armbian).

Armbian Linux has nothing to do with Olimage Linux.

I don't think there is ID recognition at all in Armbian which means that you'd have to configure the u-boot manually for the 16Gb eMMC.
#17
New Product Ideas / Re: ARM64 SOM for industrial a...
Last post by LubOlimex - November 20, 2024, 09:49:44 AM
We will have a look at those suggestions, thanks.

You didn't mention A64-OLinuXino, in your list of Cortex-A53, what about this:

https://www.olimex.com/Products/OLinuXino/A64/A64-OLinuXino/open-source-hardware
#18
Neo6502 / Re: sharing NEO6502 code
Last post by Hugh Aguilar - November 20, 2024, 07:11:01 AM
Quote from: LubOlimex on September 27, 2024, 04:04:53 PMSounds nice.
I bought the NEO6502 on the assumption that it was a programmable video-game computer. It isn't though. I already mentioned the lack of a heartbeat timer that is necessary for games to run at a constant speed irregardless of how much is happening on screen. The Commodore-64 had its "jiffy clock" running at 60 Hz.. The Commodore-64 also had double-buffering and a raster interrupt so the screens could be swapped during the vblank, so the user doesn't see the image being drawn. The raster interrupt could also be used for switching video modes in the middle of the screen draw. I used this to switch into text mode for the bottom 3 lines of the screen. The NEO6502 doesn't have any features necessary for video-games.

I remember that MS-DOS came with the Gorilla game written in QBASIC. That didn't need a heartbeat timer because there was only one moving object (the banana). The NEO6502 comes with BASIC, so maybe you can get Gorilla running on the NEO6502. lol I didn't spend all that money on the NEO6502 so I could throw bananas at a gorilla --- it wasn't much fun in the 1990s either.

So, what is the NEO6502 used for? If I did have a website to distribute NEO6502 programs, what would these programs do? I had originally expected my Forth system to be used for writing video games (I was going to write Centipede or something similar), and I expected a lot of people to also write video games that they would share. This turkey isn't going to fly.

Most of the emphasis in NEO6502 programming world seems to be Apple-II emulation. The Apple-II was primarily a business computer (VisiCalc was the killer application) and also used for educational programs ("Where in the World is Carmen Sandiego," etc.). All of this is available on Windows and Linux computers, and a lot better. Why would anybody want to run Apple-II software in the 21st century? The Apple-II wasn't a very good computer in the 1980s, which is why the Commodore-64 killed it in the market --- none of that Apple-II software is worth running now --- also, all of that software is proprietary, so it is actually illegal to distribute it on the internet and run it on the NEO6502, although I doubt that anybody cares (the original programmer has likely died of old age).

I have already started my Forth system, and I will finish it. My intention is mostly to prove that I can write a Forth system that generates faster-executing code than C compilers generate. I will likely just use the NEO6502 as a development platform for W65c02 micro-controllers. The idea would be to breadboard I/O on an expansion card, then when the program is working on the NEO6502, transfer it over to a custom W65c02 board. This isn't very useful considering that there are plenty of micro-controller boards available for much more powerful processors (MSP430, STM8, etc.), that provide a lot more capability. Building a W65c02 board may be easier though because the W65c02 is still available as a big 40-pin chip with big leads that can be soldered by hand. This is the only use that I can think of for the NEO6502. Is there anything else that it can be used for?

A related question: What is the Raspberry Pi used for? It is not a video-game computer either. I have heard of the R/PI being used for a home-security system. That is soft real-time. I'm a lot more interested in hard real-time, such as motion-control --- the W65c02 can do this, but it lacks a multiply instruction needed for the PID algorithm (the i8032 has only an 8x8 multiply, so it is not much better).
#19
New Product Ideas / ARM64 SOM for industrial appli...
Last post by thom_nic - November 19, 2024, 06:15:29 PM
Hey folks - we're presently happy customers of the STMP1-SOM and before that AM33-SOM.  I'd like to move to 64-bit architecture i.e. Cortex-A53.  I know the SOM204 and RK3328 are out there however I'd prioritize hardware connectivity i.e. CAN-FD over multimedia.  My applications don't require any audio/video (or wireless connectivity at the moment.) 

NXP iMX8 are too expensive.

A low cost Coretex-53 such as STM32MP253C or TI AM623 look ideal.  The AM623 is very cheap, their list price is $6.589/ 1k units.

Edit: industrial temp rating is a must as well.
#20
A20 / Re: T2-OLinuXino-LIME2-e16Gs16...
Last post by Titomax - November 19, 2024, 04:45:05 PM
Hi Lub,
we are having the same problem.
Our product uses an old Armbian-based image (we cannot absolutely modify it).
Using old SOMs "T2-SOM204-1GS16ME8G-MC-I" all is working well but trying to use new P/N: "T2-SOM204-1GS16ME16G-MC-I" at startup the system cannot boot.

I understand that the solution is using an updated U-boot.

Can I make the modification to our Armbian image directly with "dd" Linux command ?

I tried this procedure:

1) Flash latest Olinuxino image on an SD
2) Use the following "dd" command to extract U-boot from that image:
#dd if=/dev/sdc of=/path/u-boot-sunxi-with-spl.bin bs=1024 skip=8 count=$((1024-8))

3) Use the following command to overwrite old U-boot on the Armbian image
#dd if=/path/u-boot-sunxi-with-spl.bin of=/dev/sdc bs=1024 seek=8
When I try to use the new custom image with the new U-boot on it the system hangs after printing this:

U-Boot SPL 2021.04+olimex-1-20231103.141125 (Nov 03 2023 - 14:12:28 +0000)
DRAM: 1024 MiB
CPU: 912000000Hz, AXI/AHB/APB: 3/2/2
Loading configuration from EEPROM: OK
Verifying data: OK
Trying to boot from MMC1

I'm doing something not allowed ? How can I exchange U-boot version in the right way ?

Thanks in advance for your support.