Guys, what the Raspberry Pi like for embedded stuff, not Linux development?
It's extremely cheap at £35 with 1 Gig of DDR RAM?
I suspect there is lots of baremetal stuff on the internet.
Wm.
Guys, what the Raspberry Pi like for embedded stuff, not Linux development?
It's extremely cheap at £35 with 1 Gig of DDR RAM?
I suspect there is lots of baremetal stuff on the internet.
Wm.
DEfine Embedded stuff. The Pi is a linux based computer and I can tell you firsthand that it does not do so well in things like RS-485 communications for example. A colleague of mine and I tried for days to get the Pi and a Beaglebone black to work as a 485 master, but we could not get the TX/RX control line to toggle fast enough. Our solution was an ATTiny with 2 USARTS to act as a 232<>485 bridge. That worked.
IT all depends on what you are looking to do
JIm
DEfine Embedded stuff. The Pi is a linux based computer and I can tell you firsthand that it does not do so well in things like RS-485 communications for example. A colleague of mine and I tried for days to get the Pi and a Beaglebone black to work as a 485 master, but we could not get the TX/RX control line to toggle fast enough. Your solution was an ATTiny with 2 USARTS to act as a 232<>485 bridge. That worked.
IT all depends on what you are looking to do
JIm
That sounds terrible! Ah well, I'll stick to the SAMA5D44 XULT for the tie being.
fdgh
That sounds terrible!
It was!! It was I do say!
In the end I think my colleague used a Mega2560 for all the I/o and sub board communications, and the Beaglebone or Rpi for internet comms, local comms to the Iphone/Android Apps and touchscreen GUI. The Bone/Pi communicated via 232 to the M2560.
Brutal.
JIm
Maybe this woulda helped with the rpi & rs485 :
http://wiki.seeedstudio.com/RS-485_Shield_for_Raspberry_Pi/
They use os.system to control the pin & some other calls to do the read & write...maybe better/faster....hard to say.
Doing anything on the pi is often fraught with opening the right bottle of secret sauce. I worked for several days to get some led driver chip to work...no luck, just confusing results...then found some other library & had it working in minutes.
You wanna move things around in a vending machine...will work great....wanna control injet printing nozzles...may be a long road.
There seems to be some way of doing real time tasks on a Pi. I have a couple of them running Logitech Media Server, Kodi, and driving a stereo 24 bit dac via spi. Not my software and I haven't ventured under the hood, but it all runs flawlessly. Max2Play is what the stuff is called.
There seems to be some way of doing real time tasks on a Pi.
Might consider SAMA5 as Raspberry Pi consume significant current.
http://www.at91.com/linux4sam/bin/view/Linux4SAM/TipsNTricks#Real_Time_on_A91SAM_SoC
Olimex also seems to have a foothold in the industrial market, where long term availability is more important then the latest trend.
element14 BeagleBone Black Industrial 4G | element14 | Design Center
https://github.com/beagleboard/pocketbeagle/wiki/FAQ#Is_this_open_hardware_and_what_is_the_design_in
BeagleBoard.org | Open Hardware Physical Computing on ARM and Linux
edit :
An RTOS for the single-core Raspberry Pi :
https://github.com/jameswalmsley/bitthunder/tree/master/arch/arm/mach/bcm2835/boards
BCM2835 - Raspberry Pi Documentation
The Bone/Pi communicated via 232 to the M2560.
Jim, does that mean I would have to break out my old rs-232 dongle to talk to UART on my ATmega1284? I have some ancient boards I got from Futurlec when I first got started in this business that would take RS232 input and output serial that UART was happy with. I even think I still know where they are.
The Raspberry Pi is for people who are already Linux/Unix computer experts. The low cost is offset by the cost to -you - of spending hundreds of hours learning how to get the Pi working as easily as an Arduino does. If you don't have someone to teach you basic Unix/Linux, either in a classroom or as a workplace mentor, then you will inevitably come to some idiotic Linux roadblock from which you can't solve by experiment or internet research, and then you're stuck.
For me, the mere fact that the Pi does not come with any ready-to-work Operating System, bootloader, or firmware pre-installed is a complete deal breaker. You have to install the basic operating system into it, which makes it worthless if you don't know exactly how to do this. And if (when) some little tiny detail goes wrong in the process, then you are one faced with "researching" thousands of pages of Linux "documentation" to find out what that little tiny detail is.
I recommend that you take the 35 pounds, dollars, euros (aren't they all about the same now?) and buy a 10-pack of Arduino Nanos, a few STM32F103-based "blue Pill" ARM module boards for experimenting with, and spend the remaining change on Guinness.
The Raspberry Pi is for people who are already Linux/Unix computer experts
You’ve not used one then. Of course the pi has a boot loader - how else does it read the sdcard? The os is loaded onto the sdcard. Based on the number of blogs - there’s a lot of ‘experts’ out there.
For me, the mere fact that the Pi does not come with any ready-to-work Operating System, bootloader, or firmware pre-installed is a complete deal breaker.
There are plenty of easy tutorials to use NOOBS to get the rpi up and running (you can even buy an SD card with OS loaded and ready to just plug in & powerup).
you are one faced with "researching" thousands of pages of Linux "documentation" to find out what that little tiny detail is.
You have a point there---being open source, a lot of things are left hanging, unfinished, undocumented, poorly performing, problematic & solutions vary from "simply correct" to a 3 day exasperation in tracking down some undocumented combination that fails to install/work/give results.
Now doesn't that sound like working with some AVR Studio installs?!!
Yes, you will spend some (many) hours exploring & adapting.---but the price is right & the capabilities pretty amazing.
For me, the mere fact that the Pi does not come with any ready-to-work Operating System, bootloader, or firmware pre-installed is a complete deal breaker. You have to install the basic operating system into it, which makes it worthless if you don't know exactly how to do this.
https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started
That is written so a 5 year old child could follow it - hope you get on OK.
Considering a generation of spotty kids learnt machine code on the likes of a C64, zx80 and so on, the raspi is Luxury.
Simonetta wrote:Oh dear God - you have heard of Google I take it??For me, the mere fact that the Pi does not come with any ready-to-work Operating System, bootloader, or firmware pre-installed is a complete deal breaker. You have to install the basic operating system into it, which makes it worthless if you don't know exactly how to do this.
https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started
That is written so a 5 year old child could follow it - hope you get on OK.
The 5-year-old will have it at Lego web site long before finishing those instructions. My kids LOVED lego web site.
I suspect there is lots of baremetal stuff on the internet.
Never seen or heard of anyone doing bare metal on the Raspberry, not saying it can't or hasn't been done, just that it's not common! Everybody uses it with some kind of OS, normally Linux.
I suspect there is lots of baremetal stuff on the internet.
Some of the chips in the pi have functionalities which are not made public, so in some cases you may clang into metal wall.
Some of the chips in the pi have functionalities which are not made public, so in some cases you may clang into metal wall.
This is the classic conundrum for those using Linux in a commercial, sensitive IPR environment (thing satellite pay TV systems for example!). You want to use Linux because of all the goodies it brings but to then access the "secret bits" in your silicon you have to develop .ko's and as soon as you do the source of those .ko's has to be made available to the end user under the GPL licence.
So I would suggest that if you study the published source for any Linux in RPi you should be able to find the support code for any part of the silicon (of course it may be written in a deliberately very obfuscated way!)
But I would still return to the classic argument (which is why Linux is pervasive) that "if everything you can ever think of doing is already catered for in Linux why wouldn't you just use it anyway?". I don't see much attraction/point in developing bare metal for any silicon that has a Linux port (BSP). Even if you develop a whole OS no one is going to want to use it anyway because "everyone else is using Linux and that's where all the support is".
I don't see much attraction/point in developing bare metal for any silicon that has a Linux port (BSP).
The 1MB object code Linux kernel can be onerous (sizing, GPLv2 + syscall exception), 100KB for a heavy RTOS is an excellent fit for automobiles and mechatronics, 10kB for a lightweight RTOS can be fit and function for some applications.
Automotive Linux is there and growing especially for autonomous vehicles (a reasonably certified OS that can run applications written in a memory-safe computer language)
Even if you develop a whole OS no one is going to want to use it anyway because "everyone else is using Linux and that's where all the support is".
https://github.com/atmelcorp/atmel-software-package/blob/master/LICENSE.md
in GitHub - atmelcorp/atmel-software-package: Atmel Software Package
WebHome < Linux4SAM < TWiki via Welcome to AT91SAM Community Discussions - Index page (very top, left)
http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/AtmelAT91SAMA5D3XEvaluationKit
...
[license Apache v2]
...
via http://community.qnx.com/sf/wiki/do/viewPage/projects.bsp/wiki/BSPAndDrivers via QNX Neutrino RTOS
Apache License 2.0 (Apache-2.0) Explained in Plain English - TLDRLegal
Suggested Prototype Boards - Windows IoT | Microsoft Docs (Raspberry Pi at bottom)
edit : QNX 7 (previous was QNX 6)
Board Support Packages – BSPs - QNX
...
BeagleBone Black ...
After the rush is over and the new Pi is in stock at places like Adafruit, I guess I am going to have to get one and brush up on my 30 year old Unix. I still seem to remember cc does a compile and grep around, grep around, I grep around (to the tune of I Get Around) let's me find text strings in files. I dont have a Linux machine. We are a strictly Windows household, although one of my Windows 7 machines only has WiFi turned on long enough to synch DropBox periodically. I had a little problem with the last update and had to do two restores to finally get it to start without the update. It is a tiny machine with with a tiny version of Windows Starter. Having 64 bit doubles would be a treat for doing scientific calculations,and easier than dealing with Visual C#, although C# makes nice GUIs.
I have a couple of them running Logitech Media Server, Kodi, and driving a stereo 24 bit dac via spi.
OSMC is a free and open source media center built for the people, by the people.
...
runs on a new arrival
Raspberry Pi Media Center Kit for Raspberry Pi 3 - Adafruit | Mouser
[video starts at 1:10 for about 3m30s]
I still seem to remember cc does a compile and grep around, grep around, I grep around (to the tune of I Get Around) let's me find text strings in files. I dont have a Linux machine. We are a strictly Windows household
Anyone who has AS7 installed on their Windows PC does have:
Directory of C:\Program Files (x86)\Atmel\Studio\7.0\shellutils 22/06/2018 14:22 29,568 basename.exe 22/06/2018 14:22 68,480 cat.exe 22/06/2018 14:22 89,984 chgrp.exe 22/06/2018 14:22 87,936 chmod.exe 22/06/2018 14:22 92,032 chown.exe 22/06/2018 14:22 30,592 chroot.exe 22/06/2018 14:22 31,616 cksum.exe 22/06/2018 14:22 32,128 comm.exe 22/06/2018 14:22 136,064 cp.exe 22/06/2018 14:22 82,304 csplit.exe 22/06/2018 14:22 44,928 cut.exe 22/06/2018 14:22 134,528 date.exe 22/06/2018 14:22 93,568 dd.exe 22/06/2018 14:22 87,936 df.exe 22/06/2018 14:22 186,752 dir.exe 22/06/2018 14:22 36,736 dircolors.exe 22/06/2018 14:22 30,080 dirname.exe 22/06/2018 14:22 114,560 du.exe 22/06/2018 14:22 31,104 echo.exe 22/06/2018 14:22 30,080 env.exe 22/06/2018 14:22 33,664 expand.exe 22/06/2018 14:22 68,480 expr.exe 22/06/2018 14:22 37,248 factor.exe 22/06/2018 14:22 23,936 false.exe 22/06/2018 14:22 36,736 fmt.exe 22/06/2018 14:22 32,640 fold.exe 22/06/2018 14:22 134,528 gdate.exe 22/06/2018 14:22 31,104 gecho.exe 22/06/2018 14:22 141,184 ginstall.exe 22/06/2018 14:22 108,416 gln.exe 22/06/2018 14:22 75,136 gmkdir.exe 22/06/2018 14:22 31,104 grmdir.exe 22/06/2018 14:22 102,272 gsort.exe 22/06/2018 14:22 79,232 head.exe 22/06/2018 14:22 31,616 hostid.exe 22/06/2018 14:22 29,568 hostname.exe 22/06/2018 14:22 34,176 id.exe 22/06/2018 14:22 141,184 install.exe 22/06/2018 14:22 46,464 join.exe 22/06/2018 14:22 34,688 kill.exe 22/06/2018 14:22 37,760 link.exe 22/06/2018 14:22 108,416 ln.exe 22/06/2018 14:22 30,080 logname.exe 22/06/2018 14:22 186,752 ls.exe 22/06/2018 14:22 331,136 make.exe 22/06/2018 14:22 48,000 md5sum.exe 22/06/2018 14:22 75,136 mkdir.exe 22/06/2018 14:22 67,456 mkfifo.exe 22/06/2018 14:22 73,600 mknod.exe 22/06/2018 14:22 144,768 mv.exe 22/06/2018 14:22 32,128 nice.exe 22/06/2018 14:22 72,064 nl.exe 22/06/2018 14:22 34,176 nohup.exe 22/06/2018 14:22 92,032 od.exe 22/06/2018 14:22 32,128 paste.exe 22/06/2018 14:22 64,896 pathchk.exe 22/06/2018 14:22 75,136 pinky.exe 22/06/2018 14:22 127,360 pr.exe 22/06/2018 14:22 29,056 printenv.exe 22/06/2018 14:22 51,072 printf.exe 22/06/2018 14:22 117,120 ptx.exe 22/06/2018 14:22 67,456 pwd.exe 22/06/2018 14:22 66,432 readlink.exe 22/06/2018 14:22 115,072 rm.exe 22/06/2018 14:22 31,104 rmdir.exe 22/06/2018 14:22 32,640 seq.exe 22/06/2018 14:22 31,616 setuidgid.exe 22/06/2018 14:22 48,000 sha1sum.exe 22/06/2018 14:22 93,056 shred.exe 22/06/2018 14:22 33,664 sleep.exe 22/06/2018 14:22 102,272 sort.exe 22/06/2018 14:22 78,208 split.exe 22/06/2018 14:22 1,447,824 srec_cat.exe 22/06/2018 14:22 81,792 stat.exe 22/06/2018 14:22 55,680 stty.exe 22/06/2018 14:22 84,352 su.exe 22/06/2018 14:22 42,368 sum.exe 22/06/2018 14:22 29,056 sync.exe 22/06/2018 14:22 98,176 tac.exe 22/06/2018 14:22 94,080 tail.exe 22/06/2018 14:22 30,592 tee.exe 22/06/2018 14:22 68,992 test.exe 22/06/2018 14:22 84,864 touch.exe 22/06/2018 14:22 49,024 tr.exe 22/06/2018 14:23 23,936 true.exe 22/06/2018 14:23 32,640 tsort.exe 22/06/2018 14:23 29,568 tty.exe 22/06/2018 14:23 39,808 uname.exe 22/06/2018 14:23 34,688 unexpand.exe 22/06/2018 14:23 38,784 uniq.exe 22/06/2018 14:23 30,592 unlink.exe 22/06/2018 14:23 38,272 uptime.exe 22/06/2018 14:23 41,344 users.exe 22/06/2018 14:23 186,752 vdir.exe 22/06/2018 14:23 106,368 wc.exe 22/06/2018 14:23 79,232 who.exe 22/06/2018 14:23 30,592 whoami.exe 22/06/2018 14:23 29,056 yes.exe 22/06/2018 14:23 75,136 [.exe 99 File(s) 8,237,712 bytes
but sadly they didn't include things like grep.exe, awk.exe, sed.exe so it's a pretty poor collection of Linux utilities. Thankfully for Windows users there is:
http://gnuwin32.sourceforge.net/packages.html
An alternative would be to install Cygwin.
Oh and yes, I know, Windows has findstr - one day I'll work out how to use it!
I have a couple of them running Logitech Media Server, Kodi, and driving a stereo 24 bit dac via spi.
A20 and A64 OLinuXino now with Libre Elec and Kodi support! | olimex
28 NOV 2019
...
Both A20 and A64 decode up to 4K movies but of course can’t display such resolutions.
...
A20 - Open Source Hardware Boards (Olimex)
A64 - Open Source Hardware Boards (Olimex)
Kodi | Open Source Home Theater Software