LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM
User Name
Password
Slackware - ARM This forum is for the discussion of Slackware ARM.

Notices


Reply
  Search this Thread
Old 02-24-2021, 02:24 AM   #1
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635
Blog Entries: 20

Rep: Reputation: 81
RPi Pico play with slackwareARM


Just to dismiss any confusion: the RPi Pico is an interesting and cheap microcontroller for the features it gives.
This post is about being able to produce programs for the pico from SlackwareARM as opposed to doing that from RPiOS.

I could not resist trying a RPi Pico ... seems to to be relatively easy to build program for the pico from RPiOS (my own led blink program was a matter of minutes) ... but now I would like to build from slackware.

So I set about it but have not yet got it working. Hoping someone can help here.

Here's what I've done so far:

The core of the pico is an RP2040 which is a 32-bit dual core ARM Cortex-M0+ (armv6-m architecture) so the slackwareARM-current native compiler cannot produce code for rp2040 as it is tuned for armv7+.
It might be possible to use slackwareARM 14.2 compiler but the pico-sdk has a minimum requirement of cmake 3.12+ that is not met in 14.2.
I worked around the problem by bowworing the compiler from RPiOS.

The pico-sdk is on git so I cloned that as per their getting started documentation.

Then I setup a few environment variables to match where I put things:

Code:
export PICO_SDK_PATH=/usr/src/pico/pico-sdk
export PICO_TOOLCHAIN_PATH=/usr/src/pico/pico-sdk/toolchain/usr/bin
export LD_LIBRARY_PATH=/usr/src/pico/pico-sdk/toolchain/usr/lib
I did not download any of the pico-examples and went ahead and created my own blink project

Code:
root@rpi4:/usr/src/pico/blink# ls -l
total 16
-rw-r--r-- 1 root root  210 Feb 23  2021 CMakeLists.txt
-rw-r--r-- 1 root root  650 Feb 23  2021 blink.c
drwxr-xr-x 2 root root 4096 Jan  1 01:06 build/
-rw-r--r-- 1 root root 2763 Feb 23  2021 pico_sdk_import.cmake
root@rpi4:/usr/src/pico/blink#
Went into the build subfolder and tried to build it. Cmake seems to have worked

Code:
root@rpi4:/usr/src/pico/blink/build# cmake ..
Using PICO_SDK_PATH from environment ('/usr/src/pico/pico-sdk')
PICO_SDK_PATH is /usr/src/pico/pico-sdk
Defaulting PICO_PLATFORM to rp2040 since not specified.
Defaulting PICO platform compiler to pico_arm_gcc since not specified.
-- Defaulting build type to 'Release' since not specified.
PICO compiler is pico_arm_gcc
PICO_GCC_TRIPLE defaulted to arm-none-eabi
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- The ASM compiler identification is GNU
-- Found assembler: /usr/src/pico/pico-sdk/toolchain/usr/bin/arm-none-eabi-gcc
Defaulting PICO target board to pico since not specified.
Using board configuration from /usr/src/pico/pico-sdk/src/boards/include/boards/pico.h
-- Found Python3: /usr/bin/python3.9 (found version "3.9.1") found components: Interpreter 
TinyUSB available at /usr/src/pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; adding USB support.
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.20") found components: doxygen missing components: dot
ELF2UF2 will need to be built
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/pico/blink/build
root@rpi4:/usr/src/pico/blink/build#
but then make fails
Code:
root@rpi4:/usr/src/pico/blink/build# make
PICO_SDK_PATH is /usr/src/pico/pico-sdk
PICO platform is rp2040.
PICO compiler is 
PICO_GCC_TRIPLE defaulted to arm-none-eabi
PICO target board is pico.
Using board configuration from /usr/src/pico/pico-sdk/src/boards/include/boards/pico.h
TinyUSB available at /usr/src/pico/pico-sdk/lib/tinyusb/src/portable/raspberrypi/rp2040; adding USB support.
ELF2UF2 will need to be built
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/pico/blink/build
Scanning dependencies of target ELF2UF2Build
[  1%] Creating directories for 'ELF2UF2Build'
[  3%] No download step for 'ELF2UF2Build'
[  5%] No update step for 'ELF2UF2Build'
[  6%] No patch step for 'ELF2UF2Build'
[  8%] Performing configure step for 'ELF2UF2Build'
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/pico/blink/build/elf2uf2
[ 10%] Performing build step for 'ELF2UF2Build'
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/pico/blink/build/elf2uf2
Scanning dependencies of target elf2uf2
make[5]: Warning: File '/usr/src/pico/pico-sdk/tools/elf2uf2/main.cpp' has modification time 1614095643 s in the future
[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[100%] Linking CXX executable elf2uf2
make[5]: warning:  Clock skew detected.  Your build may be incomplete.
[100%] Built target elf2uf2
[ 11%] No install step for 'ELF2UF2Build'
[ 13%] Completed 'ELF2UF2Build'
[ 13%] Built target ELF2UF2Build
Scanning dependencies of target bs2_default
make[2]: Warning: File '/usr/src/pico/pico-sdk/src/rp2_common/boot_stage2/boot2_w25q080.S' has modification time 1614095640 s in the future
[ 15%] Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/boot2_w25q080.S.obj
[ 16%] Linking ASM executable bs2_default.elf
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
make[2]: *** [pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/build.make:96: pico-sdk/src/rp2_common/boot_stage2/bs2_default.elf] Error 1
make[1]: *** [CMakeFiles/Makefile2:1575: pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/all] Error 2
make: *** [Makefile:103: all] Error 2
root@rpi4:/usr/src/pico/blink/build#
but nosys.specs is part of the toolchain I borrowed from RPiOS:
Code:
root@rpi4:/mnt/tmp# find /usr/src/pico/pico-sdk/toolchain/ -type f -name nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7-m/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7e-m/fpv4-sp/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7e-m/fpv4-sp/softfp/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7e-m/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7e-m/fpv5/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7e-m/fpv5/softfp/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7-ar/fpv3/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7-ar/fpv3/hard/be/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7-ar/fpv3/softfp/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v7-ar/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.main/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.main/fpv5-sp/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.main/fpv5-sp/softfp/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.main/fpv5/hard/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.main/fpv5/softfp/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v8-m.base/nosys.specs
/usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v6-m/nosys.specs
root@rpi4:/mnt/tmp#
Anyone have any idea how to move on from here ?

Last edited by louigi600; 02-24-2021 at 05:16 AM.
 
Old 02-24-2021, 02:53 AM   #2
Exaga
SARPi Maintainer
 
Registered: Nov 2012
Distribution: Slackware AArch64
Posts: 1,043

Rep: Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665
Quote:
Originally Posted by louigi600 View Post
I could not resist trying a RPi Pico ... seems to work relatively nicely on RPiOS (my own led blink program was a matter of minutes) ... but now I would like to build from slackware.

The core of the pico is an RP2040 which is a 32-bit dual core ARM Cortex-M0+ (armv6-m architecture) so the slackwareARM-current native compiler cannot produce code for rp2040 as it is tuned for armv7+.
It might be possible to use slackwareARM 14.2 compiler but the pico-sdk has a minimum requirement of cmake 3.12+ that is not met in 14.2.
I worked around the problem by bowworing the compiler from RPiOS.

Anyone have any idea how to move on from here ?
Louigi, I am REALLY confused here. You've installed RPiOS on the Pico in what capacity?

I completely dismissed any potential of the RPi Pico running Slackware ARM due to this Twitter post: https://twitter.com/EbenUpton/status...79645604458498 - e.g. "You can't run Linux on it: bare metal or RTOS only."

I'm interested to understand and learn what's possible with this ARM device, even though I have no plans or purpose for it.
 
Old 02-24-2021, 03:08 AM   #3
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
Quote:
Originally Posted by Exaga View Post
Louigi, I am REALLY confused here. You've installed RPiOS on the Pico in what capacity?

I completely dismissed any potential of the RPi Pico running Slackware ARM due to this Twitter post: https://twitter.com/EbenUpton/status...79645604458498 - e.g. "You can't run Linux on it: bare metal or RTOS only."

I'm interested to understand and learn what's possible with this ARM device, even though I have no plans or purpose for it.
No the pico is not a computer it is a microcontroller, I just want to build my programs for it from slackware and not from RPiOS.
I borrowed the compiler from RPiOS because the slackwarearm-current native compiler will not produce code for the RP2040 and also because the pico-sdk seems to want to look for arm-none-eabi-gcc wich will not match the slackwarearm native compiler anyway (and I was unable to change that in the sdk so borrowing was the easiest thing anyway).

I will add that the pico is an interesting microcontroller as it is quite cheap for what you get (256K ram and 16Mb flash). It is still somewhat more expensive than a chinese arduino nano clone but much cheaper then a genuine arduino nano (2kb ram and 32kb flash) and cheaper then the STM32.

The 256kb ram in the RP2040 is insufficient to run any kind of linux, and the 16Mb flash is not even enough for a bodern linux kernel. For me it is just an interesting microcontroller for small projects like my own BLCD motor Electronic Speed Controller.

Last edited by louigi600; 02-24-2021 at 03:15 AM.
 
Old 02-24-2021, 04:35 AM   #4
Exaga
SARPi Maintainer
 
Registered: Nov 2012
Distribution: Slackware AArch64
Posts: 1,043

Rep: Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665
Quote:
Originally Posted by louigi600 View Post
No the pico is not a computer it is a microcontroller, I just want to build my programs for it from slackware and not from RPiOS.
I borrowed the compiler from RPiOS because the slackwarearm-current native compiler will not produce code for the RP2040 and also because the pico-sdk seems to want to look for arm-none-eabi-gcc wich will not match the slackwarearm native compiler anyway (and I was unable to change that in the sdk so borrowing was the easiest thing anyway).

I will add that the pico is an interesting microcontroller as it is quite cheap for what you get (256K ram and 16Mb flash). It is still somewhat more expensive than a chinese arduino nano clone but much cheaper then a genuine arduino nano (2kb ram and 32kb flash) and cheaper then the STM32.
My experience with microcontrollers is not just very limited, it's practically non-existent.

My understanding is that things which are designed for a specific purpose, such as my washing machine and microwave, feature a microcontroller, the purpose of which is to carry out specific tasks and nothing else. Whereas my computer features a microprocessor (cpu) that's designed to carry out multiple tasks - basically any software instructions that can interact with it and interface to it. Everything with the microcontroller is included within the chip (RAM, IO, buses, etc.) but mostly everything with the cpu is outside of it. That's about as far as my understanding goes.

Quote:
Originally Posted by louigi600 View Post
The 256kb ram in the RP2040 is insufficient to run any kind of linux, and the 16Mb flash is not even enough for a bodern linux kernel. For me it is just an interesting microcontroller for small projects like my own BLCD motor Electronic Speed Controller.
This is where you know what you're talking about. and I don't. I know it was possible to install Slackware ARM 13.37 on a Raspberry Pi Model B rev.1 (ARM11, 256MB RAM) on an 8GB SD card and run it very successfully. On the RPi Pico you have the same amount of RAM and 16MB flash. So, when you say you've managed to get RPiOS running on the Pico I'm struggling to understand in what capacity that is, given that Eben Upton stated that "You can't run Linux on it: bare metal or RTOS only." This is why I am confused.

Don't get me wrong here, I'm not fault-finding or being captious. I genuinely would like to understand why this RPi Pico device exists and what its purpose and parameters and/or limitations are.
 
Old 02-24-2021, 05:02 AM   #5
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
No The pico has 256Kilobyte not Megabyte. Even back in 1992 you would struggle with 4Mb ram if you wanted to run linux I really don't think you can get any linux running with 1/4Mb.
I never said I have RPiOS running on the pico ... I said I built code for the pico from RPiOS ... ok maybe the phrase should have been a little more clear ...
Quote:
I could not resist trying a RPi Pico ... seems to work relatively nicely on RPiOS (my own led blink program was a matter of minutes) ... but now I would like to build from slackware.
Maige I will edit that to this:

Quote:
I could not resist trying a RPi Pico ... seems to to be relatively easy to build program for the pico from RPiOS (my own led blink program was a matter of minutes) ... but now I would like to build from slackware.
The pico exists just to compete with other microcontrollers like the atmel (now pic) ATMega328p which is a really popular and widely used one as it is historically the heart of the arduino boards. A genuine arduino will be about 20$ but the pico is only 4$ ... not only is it cheaper but offers more io pins and 500 times the flash size for your programs along with 128 times the ram and something close to 8 times the cpu clock rate.
There is an interesting article here in which you may find some reasons to why the pico came to existence.

Last edited by louigi600; 02-24-2021 at 05:12 AM.
 
2 members found this post helpful.
Old 02-24-2021, 05:12 AM   #6
TheTKS
Member
 
Registered: Sep 2017
Location: Ontario, Canada
Distribution: Slackware, X/ubuntu, OpenBSD, OpenWRT
Posts: 361

Rep: Reputation: 243Reputation: 243Reputation: 243
I’m interested to see what the Raspberry Pi Pico can do (and interested to hear what you do with it, louigi600) but haven’t decided whether I’ll go with it next, or something else like the ESP32. I’ve barely started exploring my Arduino Uno, even though I’ve had it for some time, so I’ve got lots to do with that before getting another board.

I’ll wait for the Pico at least until the Arduino IDE supports the it. I’ve taken the first step by installing the Arduino IDE on the Raspberry Pi 4 in SlackwareARM -current.

TKS
 
Old 02-24-2021, 05:32 AM   #7
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
I don't particularly like the arduino ide I've been striving to move out of it for a while and do everything in pure C but it would require writing a lot of libraries that are nicely packed into the arduino ide.
The pico, appart being cheaper and more powerful under nearly all aspects (just miss the 8 analog input from the atmega328p versus only 3 in the rp2040) also might give me a better starting point for moving to pure C.
I have several arduino projects: (here are the latest 3 of them)
  • a geek watch that can display time also in hex and octal (and several programable recurring alarms)
  • a watering timer for my plants when I go in vacation
  • the ESC for the full DIY electric scooter
 
1 members found this post helpful.
Old 02-24-2021, 06:12 AM   #8
Exaga
SARPi Maintainer
 
Registered: Nov 2012
Distribution: Slackware AArch64
Posts: 1,043

Rep: Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665Reputation: 665
Quote:
Originally Posted by louigi600 View Post
No The pico has 256Kilobyte not Megabyte. Even back in 1992 you would struggle with 4Mb ram if you wanted to run linux I really don't think you can get any linux running with 1/4Mb.
Perhaps if I read KB/MB values accurately it might help avoiding some of my confusion. LOL!

Quote:
Originally Posted by louigi600 View Post
There is an interesting article here in which you may find some reasons to why the pico came to existence.
Great article, and thanks. Now I appreciate a little more why this RPi Pico device exists and for what kind of purpose(s) it is suited.
 
Old 02-24-2021, 06:28 AM   #9
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
Ok we ran a little off topic but it was nice ...
The thing is that I've had no success at building from slackware.
I get this error
Code:
arm-none-eabi-gcc: error: nosys.specs: No such file or directory
even if nosys.specs is part of the toolchain I borrowed from RPiOS and I did set LD_LIBRARY_PATH to where it can be found ...

I'm supposing that this is what it would want to pick up ... but looking at it it does not look like a dll:
Code:
root@rpi4:/usr/src/pico/blink/build# cat /usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v6-m/nosys.specs 
%rename link_gcc_c_sequence                nosys_link_gcc_c_sequence

*nosys_libgloss:
-lnosys

*nosys_libc:
%{!specs=nano.specs:-lc} %{specs=nano.specs:-lc_nano}

*link_gcc_c_sequence:
%(nosys_link_gcc_c_sequence) --start-group %G %(nosys_libc) %(nosys_libgloss) --end-group

root@rpi4:/usr/src/pico/blink/build#
The nano.specs are also there
Code:
root@rpi4:/usr/src/pico/blink/build# cat /usr/src/pico/pico-sdk/toolchain/usr/lib/arm-none-eabi/newlib/thumb/v6-m/nano.specs 
%rename link                nano_link
%rename link_gcc_c_sequence                nano_link_gcc_c_sequence
%rename cpp_unique_options              nano_cpp_unique_options

*cpp_unique_options:
-isystem /usr/include/newlib/nano %(nano_cpp_unique_options)

*nano_libc:
-lc_nano

*nano_libgloss:
%{specs=rdimon.specs:-lrdimon_nano} %{specs=nosys.specs:-lnosys}

*link_gcc_c_sequence:
%(nano_link_gcc_c_sequence) --start-group %G %(nano_libc) %(nano_libgloss) --end-group

*link:
%(nano_link) %:replace-outfile(-lc -lc_nano) %:replace-outfile(-lg -lg_nano) %:replace-outfile(-lrdimon -lrdimon_nano) %:replace-outfile(-lstdc++ -lstdc++_nano) %:replace-outfile(-lsupc++ -lsupc++_nano)

*lib:
%{!shared:%{g*:-lg_nano} %{!p:%{!pg:-lc_nano}}%{p:-lc_p}%{pg:-lc_p}}

root@rpi4:/usr/src/pico/blink/build
rdimon.specs are there too.

Anyone have any ideas how to fix this ?
 
Old 02-24-2021, 01:54 PM   #10
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
I did a bit more investigation and I think the slackware arm compiler can produce code for armv6 as long as the -march option and alike. So I made another attempt this time with the native slackwarearm compiler.
Code:
export PICO_SDK_PATH=/usr/src/pico/pico-sdk
export PICO_GCC_TRIPLE=arm-slackware-linux-gnueabihf
But cmake complained it could not find objdump and objcopy prefixed with the triple .... so I linked them
Code:
( cd /usr/bin/
  ln -s objcopy arm-slackware-linux-gnueabihf-objcopy
  ln -s objdump arm-slackware-linux-gnueabihf-objdump
)
But in the end I still hit the same problem:
cmake ..
works but then make fails with the very same problem even of I set LD_LIBRARY_PAT so that it should find it
Code:
[ 15%] Linking ASM executable bs2_default.elf
arm-slackware-linux-gnueabihf-gcc: fatal error: cannot read spec file ‘nosys.specs’: No such file or directory
 
Old 02-24-2021, 05:38 PM   #11
TheTKS
Member
 
Registered: Sep 2017
Location: Ontario, Canada
Distribution: Slackware, X/ubuntu, OpenBSD, OpenWRT
Posts: 361

Rep: Reputation: 243Reputation: 243Reputation: 243
Quote:
Originally Posted by louigi600 View Post
I don't particularly like the arduino ide I've been striving to move out of it for a while and do everything in pure C but it would require writing a lot of libraries that are nicely packed into the arduino ide.
The pico, appart being cheaper and more powerful under nearly all aspects (just miss the 8 analog input from the atmega328p versus only 3 in the rp2040) also might give me a better starting point for moving to pure C.
I have several arduino projects: (here are the latest 3 of them)
  • a geek watch that can display time also in hex and octal (and several programable recurring alarms)
  • a watering timer for my plants when I go in vacation
  • the ESC for the full DIY electric scooter
Cool projects! I'm also thinking about setting up a plant watering timer, monitoring a car's operation including OBD-II output, a weather station at the allotment garden 4 km with regular updates via LoRA (even though it's only 4 km away, conditions there are different enough from home to make a difference to the plants)... so many projects, so little time. And I know it's all stuff I could get an easier way, but I want to figure this stuff out.

So while I understand wanting to get away from the Arduino IDE (easy and convenient, but I would also rather work in plain C, which I'm trying to learn... going slooowly...), but I can't fit every project I would like to work on into my schedule. So... I'll stick with their IDE, balancing the expense of not learning something very useful with the benefit of getting more projects done.

I won't be able to help you with what you're trying to do now. Maybe I'll catch up to where you are today, in a decade or so. Good luck.

TKS
 
Old 02-25-2021, 02:16 AM   #12
louigi600
Member
 
Registered: Dec 2013
Location: Italy
Distribution: Slackware
Posts: 635

Original Poster
Blog Entries: 20

Rep: Reputation: 81
@TheTKS ... maybe age is on your side, I'm probably much older then you think ... I'm very close to being same age as unix time nearly one million seconds younger.

Anyway I found some other interesting information: the RPiOS build chain is not the native one
Code:
root@rpi4:~# dpkg -l | grep gcc
ii  gcc                                   4:8.3.0-1+rpi2                      armhf        GNU C compiler
ii  gcc-4.9-base:armhf                    4.9.4-2+rpi1+b19                    armhf        GCC, the GNU Compiler Collection (base package)
ii  gcc-5-base:armhf                      5.5.0-8                             armhf        GCC, the GNU Compiler Collection (base package)
ii  gcc-6-base:armhf                      6.5.0-1+rpi1+b1                     armhf        GCC, the GNU Compiler Collection (base package)
ii  gcc-7-base:armhf                      7.3.0-19                            armhf        GCC, the GNU Compiler Collection (base package)
ii  gcc-8                                 8.3.0-6+rpi1                        armhf        GNU C compiler
ii  gcc-8-base:armhf                      8.3.0-6+rpi1                        armhf        GCC, the GNU Compiler Collection (base package)
ii  gcc-arm-none-eabi                     15:7-2018-q2-6                      armhf        GCC cross compiler for ARM Cortex-R/M processors
ii  libgcc-8-dev:armhf                    8.3.0-6+rpi1                        armhf        GCC support library (development files)
ii  libgcc1:armhf                         1:8.3.0-6+rpi1                      armhf        GCC support library
root@rpi4:~#
This seems like an odd choice on the RPi itself because the native compiler should be able to produce code for the Cortex-M0+
The other striking thing is that on RPiOS there are a lot of installed compilers ... I did not install them aldd I did was run the pico_setup.sh script ... not sure if it installed all this stuff or if it was there before (gcc-arm-none-eabi appart).

Maybe I need to look at how they built the pico toolchain to sort this out on SlackwareARM.
 
Old 02-25-2021, 04:19 AM   #13
anscal
Member
 
Registered: Apr 2011
Distribution: Slackware, RHEL
Posts: 31

Rep: Reputation: 15
Semi-OT, but I found this link interesting:

https://www.raspberrypi.org/blog/how...pberry-pi-pico

Quote:
FUZIX is an old-school Unix clone that was initially written for the 8-bit Zilog Z80 processor and released by Alan Cox in 2014. At one time one of the most active Linux developers, Cox stepped back from kernel development in 2013.
[...]
Since then FUZIX has been ported to other architectures such as 6502, 68000, and the MSP430. Earlier in the week David Given — who wrote both the MSP430 and ESP8266 ports — went ahead and ported it to Raspberry Pi Pico and RP2040.

So you can now run Unix on a $4 microcontroller.
 
1 members found this post helpful.
Old 02-25-2021, 06:32 AM   #14
TheTKS
Member
 
Registered: Sep 2017
Location: Ontario, Canada
Distribution: Slackware, X/ubuntu, OpenBSD, OpenWRT
Posts: 361

Rep: Reputation: 243Reputation: 243Reputation: 243
Quote:
Originally Posted by louigi600 View Post
@TheTKS ... maybe age is on your side, I'm probably much older then you think ... I'm very close to being same age as unix time nearly one million seconds younger.
OK, OT and there is another thread for this, but since you brought it up... I guess you could say age is on my side, since my male ancestors, going back over the several hundred years that I have recorded of my family tree, have been long lived. If I can count on good genes and avoiding accidents and reckless behaviour, then I have a few decades left.

Also, working (or maybe more correctly, playing) with SBCs and MC boards is a weekend hobby for me. Nothing and nobody is dependent on me getting anything done with them and I have the luxury of doing whatever I want with them, or nothing at all... on the other hand, there are “real” life demands aplenty.

With that said, I’m always thinking up new (for me) things I could do with these. As examples, if I actually ever get soil moisture monitoring and an allotment garden weather station done, then I’d like to look at developing machine vision and code to monitor garden or wild plant condition, things like: state of watering/drought; early disease detection and prevention, control or protection; and measures of health (and tastiness!) of fruits and vegetables through growing seasons, with the aim of guiding type and timing of intervention to achieve best food quality (not necessarily highest yield.) If I develop anything that can be useful to others, then publish.

Then there are all the possible home, transportation and music projects...

As I wrote earlier, so many projects, so little time. Even if I have decades to do them.

TKS

Last edited by TheTKS; 02-25-2021 at 06:41 AM.
 
Old 02-25-2021, 02:47 PM   #15
sndwvs
Senior Member
 
Registered: Aug 2014
Posts: 1,919

Rep: Reputation: Disabled
again a risv-v, but there are interesting solutions IoT DT-BL10 or BL602
 
1 members found this post helpful.
  


Reply

Tags
microcontroller, slackwarearm, toolchain



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] slackwarearm-current RPi official display backlight. moldavia Slackware - ARM 5 02-01-2021 04:42 PM
[SOLVED] Running slackwareARM 14.2 on RPi 4 louigi600 Slackware - ARM 2 05-29-2020 05:47 PM
LXer: GNOME 3.33.2 Released, Krita 4.2 Debuts, RPi Camera Modules on RPi Zeros Power the Penguin Watch Project, Intrinsyc Switches Its Home LXer Syndicated Linux News 0 05-30-2019 06:23 AM
LXer: Mini-PC taps RPi Compute Module and supports RPi 2 LXer Syndicated Linux News 0 02-22-2015 03:03 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware > Slackware - ARM

All times are GMT -5. The time now is 09:41 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration