1 1
Ma Tianfu

run armbian on 64MB ram?

Recommended Posts

I wonder how much ram is consumed by kernel, system services and tmpfs on a typical armbian system? Rockchip rk3308G has 64MB ram packaged in cpu. A dirty cheap 4 layer board could have a cpu,  a few discrete power chips, a mmc card slot, and a wifi/bt module, with a bunch of low speed io and two usb 2.0 port, one host and one otg. The cpu is quad core cortex A35, powerful and power efficient, compared to Pi Zero W or BBB.

 

Does that sound interesting for an iot node? Or it is too crippled to do anything useful? I hope python or node.js could run on such a board, but for node,  the memory usage should be very careful.

 

Any suggestions?

Share this post


Link to post
Share on other sites

For me - I cant see any useful possibilities for a armbian-system <256MB :(
With 256Mb my smallest system is a Orange Pi R1.

 

On a OrangePi Zero with 512MB the memory looks like this with node.js, Node-Red and PM2:
 

top - 20:24:16 up 1 day, 10:49,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  99 total,   1 running,  55 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.4 us,  0.5 sy,  0.0 ni, 99.1 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :   505156 total,   163500 free,   156164 used,   185492 buff/cache
KiB Swap:   252576 total,   252576 free,        0 used.   331636 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
25008 root      20   0    8664   2820   2364 R   2.9  0.6   0:03.39 top
 1285 root      20   0  121740  40844  19220 S   0.3  8.1   5:28.15 PM2 v3.2.4: God
 1303 root      20   0  160508  82408  20548 S   0.3 16.3   7:46.98 node-red
17323 root      20   0       0      0      0 I   0.3  0.0   0:29.46 kworker/0:1-eve
24991 root      20   0       0      0      0 I   0.3  0.0   0:00.18 kworker/1:1-eve
    1 root      20   0   26936   5456   3832 S   0.0  1.1   1:09.13 systemd
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.16 kthreadd
    3 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_gp
    4 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 rcu_par_gp
    8 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 mm_percpu_wq
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.58 ksoftirqd/0
   10 root      20   0       0      0      0 I   0.0  0.0   0:27.12 rcu_sched
   11 root      20   0       0      0      0 I   0.0  0.0   0:00.00 rcu_bh
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.25 migration/0
   13 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/0
   14 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/1
   15 root      rt   0       0      0      0 S   0.0  0.0   0:00.07 migration/1
   16 root      20   0       0      0      0 S   0.0  0.0   0:02.13 ksoftirqd/1
   19 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/2
   20 root      rt   0       0      0      0 S   0.0  0.0   0:00.24 migration/2
   21 root      20   0       0      0      0 S   0.0  0.0   0:00.23 ksoftirqd/2
   24 root      20   0       0      0      0 S   0.0  0.0   0:00.00 cpuhp/3
   25 root      rt   0       0      0      0 S   0.0  0.0   0:00.24 migration/3
   26 root      20   0       0      0      0 S   0.0  0.0   0:00.19 ksoftirqd/3
   29 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kdevtmpfs
   30 root       0 -20       0      0      0 I   0.0  0.0   0:00.00 netns
   35 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kauditd
   36 root      20   0       0      0      0 S   0.0  0.0   0:00.00 oom_reaper

 

Share this post


Link to post
Share on other sites
2 hours ago, Ma Tianfu said:

Rockchip rk3308G has 64MB ram packaged in cpu.

 

I was unaware of RAM packaged on board that SoC, do you have a datasheet?  Yes, Armbian could run on it if you tailored a command line image to fit, same as for the Allwinner V3s.  obviously you'd have to look long and hard at the use case and the tools you want to use in that limited memory space.

 

 

 

Share this post


Link to post
Share on other sites

I might add that almost half the balls on the package go to ground on the "G", a shame it wasn't available in a friendlier package than a BGA, although sitting quietly for a moment, one begins to realize that the V3s has 64 MB for a single 32-bit core to use, while the RK3308G is splitting in between 4 64-bit cores.  If I were to use it I'd probably power down all but 2 of the cores if possible.

 

I wonder if XIP is an option?  It appears QSPI is a possible medium.

Share this post


Link to post
Share on other sites
2 hours ago, TonyMac32 said:

I might add that almost half the balls on the package go to ground on the "G", a shame it wasn't available in a friendlier package than a BGA, although sitting quietly for a moment, one begins to realize that the V3s has 64 MB for a single 32-bit core to use, while the RK3308G is splitting in between 4 64-bit cores.  If I were to use it I'd probably power down all but 2 of the cores if possible.

 

I was just going to say - reminds me a lot of the Allwinner V3s chat... and BGA isn't very maker friendly...

 

It's a Quad A35, and with 64MB of embedded DRAM, I can't imagine they're running a lot of 64 bit ARM code there... 

 

To @Ma Tianfu point - would be a nice little IOT board, but with limited RAM, not really comparable to BeagleBone Black or RPi Zero - Armbian might be a tight squeeze, but OpenWRT/LEDE might fit in and be fairly performant...

Share this post


Link to post
Share on other sites

The chip is targetted on smart speaker market, according to rockchip guys. They have a SDK based on v4.4 kernel and build root, with a lot of voice/audio processing packages. Probably 32 bit system recommended. I don't know whether zram could help a little on memory constraint or doesn't help at all. I will give it a try when I have a board.

 

Both rk3308 and its G variant have similar cores/performance to Allwinner A64/R18, but they are cheaper and easier (built-in ddr2 or 16 bit ddr2/ddr3) with have better driver support. I think both of them have great potential on IoT market, though they officially position them as processors for speaker.

Share this post


Link to post
Share on other sites
5 hours ago, Ma Tianfu said:

Both rk3308 and its G variant have similar cores/performance to Allwinner A64/R18, but they are cheaper and easier (built-in ddr2 or 16 bit ddr2/ddr3) with have better driver support. I think both of them have great potential on IoT market, though they officially position them as processors for speaker.

 

Had a chance to go back thru the data sheet - the 3308 and the G variant have the same pinout, so the same board if planned for 3308 can be also used with the G model, which is kind of nice as it does give some product line flexibility for design.

 

It does max out at 512MB if not using the G, and one can still use ARMv8-A as a build target with Aarch32...

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
1 1