Shop OBEX P1 Docs P2 Docs Learn Events
Raspberry Pi 2 released. PropellerIDE faster on ARM. - Page 3 — Parallax Forums

Raspberry Pi 2 released. PropellerIDE faster on ARM.

135

Comments

  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 06:40
    Exactly.

    Except probably DOS was better as you could get to the hardware directly :)
  • LeonLeon Posts: 7,620
    edited 2015-02-03 08:38
    I received my RPi2 earlier. Sadly, it seems to be faulty and won't boot. The red power LED comes on when it is powered up and there is a brief flash from the green LED, but no activity after that. I've tried my original unit, and that boots without any problems, so the PS and SD card must be OK. I'll contact RS about a replacement tomorrow.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 09:04
    I presume your original unit is an old B/B+.

    I which case, if the SD boots up fine there, it seems you have to do an "apt-get update; apt-get upgrade" before moving the card over to the Pi 2.

    This should get you a new kernel and modules etc that the Pi 2 needs. And also still work in the old Pi.
  • mindrobotsmindrobots Posts: 6,506
    edited 2015-02-03 09:04
    Leon,

    Did you grab the ARM v7 kernel and create a new SD? SD's that boots on teh RasPi 1 won't boot on the RasPi 2 from what I've read. They have v6 and v7 versions of the kernels now.
  • abecedarianabecedarian Posts: 312
    edited 2015-02-03 09:24
    Heater. wrote: »
    Exactly.

    Except probably DOS was better as you could get to the hardware directly :)
    Just like Linux... and Windows? ;)

    Isn't that what "drivers" in Linux and Windows do?

    Even the concept of running a VM requires the super/hypervisor to directly access hardware so it can partition and allocate access to those things.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 09:42
    abecedarian,

    I'm not sure what you are getting at.

    Certainly in Linux and Windows your code is normally loaded and run in into a virtual memory space and isolated from other apps memory and isolated from direct access to the hardware.

    However, it is quite possible to map hardware registers into an application's memory space for direct access by the app in Linux. Given that it has the privileges to do so.

    Perhaps one can do that in Windows as well. I have no idea.

    Alternatively one can create ones own drivers to do that in Linux, heck put your entire app into a kernel module if you like and get down to the hardware. All the tools required to do that are in Raspbian on the Pi out of the box.

    I have no idea what VM's have to do with any of this.

    I think the point here is that this Win 10 for the Pi seems horribly crude and one wonders what the point is.
  • LeonLeon Posts: 7,620
    edited 2015-02-03 09:55
    mindrobots wrote: »
    Leon,

    Did you grab the ARM v7 kernel and create a new SD? SD's that boots on teh RasPi 1 won't boot on the RasPi 2 from what I've read. They have v6 and v7 versions of the kernels now.

    Thanks, Rick and Heater.

    I didn't know that. I'll try creating a new SD card and see if that works. I can;t see anything for the RPi2 in the download section on the Raspberry Pi web site, though. and the forum is down again. The latest NOOBS is dated 2/2/15, so perhaps it is suitable.
  • abecedarianabecedarian Posts: 312
    edited 2015-02-03 10:13
    Heater. wrote: »
    abecedarian,

    I'm not sure what you are getting at.

    Certainly in Linux and Windows your code is normally loaded and run in into a virtual memory space and isolated from other apps memory and isolated from direct access to the hardware.

    However, it is quite possible to map hardware registers into an application's memory space for direct access by the app in Linux. Given that it has the privileges to do so.

    Perhaps one can do that in Windows as well. I have no idea.
    The comments made were something to the effect that Windows 10 on RPI2 was command line based, and not even as capable as DOS because Windows won't allow direct access to the hardware and this is almost completely untrue. Like any OS, what can be done is limited by what hardware there is.

    Windows, like Linux, can allow programs to directly interface with the hardware... IF the appropriate drivers and tools are installed.

    I, here, have several tools that allow me to do things like read and write individual sectors, change partition tables and such, on a hard disc drive and perform similar tasks on flash media- USB and SD cards and even modify my PC's BIOS... all from within Windows, just like Linux.

    Alternatively one can create ones own drivers to do that in Linux, heck put your entire app into a kernel module if you like and get down to the hardware. All the tools required to do that are in Raspbian on the Pi out of the box.
    Can do that in Windows too, but they don't put the supporting tools to accomplish that in Windows, but one can download Visual Studio and the Windows DDK for free.
    I have no idea what VM's have to do with any of this.

    I think the point here is that this Win 10 for the Pi seems horribly crude and one wonders what the point is.
    The point in mentioning VM's was to show that the assertion mentioned about Windows not allowing direct access to the hardware was incorrect, even at the lowest levels of the kernel and hardware. For instance, I can run Linux in a VM on Windows and modify the physical hard drive, if it is exposed to the VM, from within the VM using Linux tools. I guess that all but completely negates the assertion Windows, a.k.a. DOS 10, doesn't allow direct access to the hardware.


    Now, Win10 on the PI, should be able to run any Win10 app that is either compiled for ARM, or compiled as a "universal" app. The only restraints are based on what hardware the app requires and what the RPI2 has connected to it, and an adept developer would code for whatever the basic requirements are and extend things up to support more robust interfaces... much like how Linux, at its core when used as an interactive computer OS and not simply as a low level arbiter with some other interface installed... like Android for instance, is command line driven but the installation of a GUI and such is possible if the hardware supports it... like Android, for instance.



    And, I'd like to apologize if I came off inappropriately. It just pangs me to see banter offered out without consideration as to what is actually correct and true.
  • LeonLeon Posts: 7,620
    edited 2015-02-03 10:17
    I just noticed this on the RPi2 announcement web page:

    Raspberry Pi 2 is available to buy today from our partners element14 and RS Components. Remember you'll need an updated NOOBS or Raspbian image including an ARMv7 kernel and modules from our downloads page.

    It looks as though that latest version of NOOBS will do the trick. I've downloaded it and it seems to be working OK.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 11:20
    Leon,

    Very good. We will be interested in hearing about any performance improvements you may find.
  • Bill HenningBill Henning Posts: 6,445
    edited 2015-02-03 11:21
    Here in Canada we are hosed as usual... the usual distributors are quoting end of Feb - end of March before Pi 2 B's arrive.
  • LeonLeon Posts: 7,620
    edited 2015-02-03 11:26
    I just checked the RS web site and they have another 14,400 units arriving before Thursday (that's this Thursday). I'll put an order in for five and I can then let Bill, Heater and anyone else who wants one have one at cost, plus postage. How does that grab you?
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 11:36
    abecedarian,

    If I remember correctly under DOS and similar operating systems one could access the hardware with a simple:
    outb(address, value)
    
    Which pretty much mapped onto an assembler instruction like:
    outb address, value
    
    Sorry if the syntax is not correct.

    On Windows and Linux this is not possible, one has to go through a shed load of pain to get those "value" bits into the hardware register. Write a device driver or figure out how to use memory mapped register space. Either way you have thousands of machine instructions between your code and the "metal". Not to mention an indeterminate length of time depending on how the task scheduling is going.

    Anyway, as it stands a simple Linux install allows you to do all that. All the compilers and tools are there on the very machine, the Pi say.

    Does Win 10 come with all those tools in the Pi install? Are they available?

    Now, given the emphasis on "IoT" here. Does this Win 10 install come with suitable servers? An ssh server? A web server? Does it have "Iot" things like MQTT?

    We want to know.

    I'm probably going to sign up for the MS program to find out for myself.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 11:39
    Leon,
    I can then let Bill, Heater and anyone else who wants one have one at cost, plus postage. How does that grab you?
    I would love you forever. How do we pay?

    Hey, I already love you for ever for "Understanding the 68000".
  • LeonLeon Posts: 7,620
    edited 2015-02-03 11:51
    How about Paypal? You can add on a bit for the seller's fee.

    I've placed the order. I've got a trade account so I get free shipping.

    I've powered my unit on and off a few times (shutting it down properly, of course), and everything seems OK. I'll have a proper play with it tomorrow.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 12:16
    Leon,

    All right. P.M. us how much and where to pay.
  • abecedarianabecedarian Posts: 312
    edited 2015-02-03 12:24
    Heater. wrote: »
    abecedarian,

    If I remember correctly under DOS and similar operating systems one could access the hardware with a simple:
    outb(address, value)
    
    Which pretty much mapped onto an assembler instruction like:
    outb address, value
    
    Sorry if the syntax is not correct.

    On Windows and Linux this is not possible, one has to go through a shed load of pain to get those "value" bits into the hardware register. Write a device driver or figure out how to use memory mapped register space. Either way you have thousands of machine instructions between your code and the "metal". Not to mention an indeterminate length of time depending on how the task scheduling is going.

    Anyway, as it stands a simple Linux install allows you to do all that. All the compilers and tools are there on the very machine, the Pi say.

    Does Win 10 come with all those tools in the Pi install? Are they available?

    Now, given the emphasis on "IoT" here. Does this Win 10 install come with suitable servers? An ssh server? A web server? Does it have "Iot" things like MQTT?

    We want to know.

    I'm probably going to sign up for the MS program to find out for myself.

    I can't, with any authority, answer many of those questions, but at least you do acknowledge the process, whether under Linux or Windows, isn't as simple as it was purported to be under DOS.

    RE: RPI2 / Win10... my understanding is the RPI2 is a "target", so whatever is compiled for it would be done in a more "proper" PC environment and the OS could be considered a "runtime" environment for the system, which isn't that much different than putting any OS on any system when you think about it.

    From there, I'm not sure whether the RPI2 could develop and deploy things for itself with Win10; only time will tell.

    Similarly, Microsoft's position seems to be develop against and utilize Azure, but I don't see anything in VS that precludes one from using some other 'cloud'. But so far it seems to be that their "free" development stuff is tied to non-commercial ventures, as has always been the case with anything "express" Microsoft has released whether SQL, IIS or Visual Studio.
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 12:47
    abecedarian,
    ...but at least you do acknowledge the process, whether under Linux or Windows, isn't as simple as it was purported to be under DOS
    What? I don't just acknowledge it, that was the entire point of my post in the first place!

    And what's with the "purported to be"? I was there I did it. With a bit of attention to DOS system calls you could have your cooperative multi-tasking program continue to do work whilst one task was waiting for data to come back from that slow old floppy or hard drive.
    ...my understanding is the RPI2 is a "target", so whatever is compiled for it would be done in a more "proper" PC environment and the OS could be considered a "runtime" environment for the system, which isn't that much different than putting any OS on any system when you think about it.
    When I think about it I see it's very different.

    For sure you have to "bootstrap" an OS on a new platform but...

    A Linux system, like Raspian on the Pi, is totally capable of rebuilding itself. On Raspian one could compile the kernel and modules and all the other supporting software you need to recreate Raspian. How cool is that?!

    Checkout "Linux From Scratch": http://www.linuxfromscratch.org/

    and for the Pi: http://www.intestinate.com/pilfs/

    In fact, that is almost how Raspian is built.

    Of course one does not do that unless one is an obsessive geek because it will take a long time...

    I look forward to "Windows From Scratch" :)
  • abecedarianabecedarian Posts: 312
    edited 2015-02-03 13:28
    I guess, one way or another, the RPI2 will be able to run JavaScript, so Heater should be happy.
  • GadgetoidGadgetoid Posts: 47
    edited 2015-02-03 13:41
    Posting from a Pi 2- just compiled Propeller IDE and it runs fine. Got a Propeller HAT on top and making sure I can upload code to it ;)

    First test production panel:

    B81o0AXIgAAnVls.jpg
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 13:55
    @abecedarian,
    I guess, one way or another, the RPI2 will be able to run JavaScript, so Heater should be happy.
    He, he, oh yeah. As does the old Pi.

    You know me too well:)

    Or perhaps not at all...

    @Gadgetoid,

    Excellent.

    Is that a picure from a Pi camera module ?
  • GadgetoidGadgetoid Posts: 47
    edited 2015-02-03 14:06
    Heater. wrote: »
    Is that a picure from a Pi camera module ?

    Nope! It's just a horribly, horribly compressed picture from my Phone. Twitter doesn't do nice things to photos.
  • jmgjmg Posts: 15,173
    edited 2015-02-03 14:22
    Gadgetoid wrote: »
    Posting from a Pi 2- just compiled Propeller IDE and it runs fine. Got a Propeller HAT on top and making sure I can upload code to it ;)

    Did you do the same tests as this earlier post, which claimed problems in some compile settings.
    http://forums.parallax.com/showthread.php/159936-Raspberry-Pi-2-released.-PropellerIDE-faster-on-ARM.?p=1313878&viewfull=1#post1313878

    Sounds like compiled code compiled supposedly ok, but only almost runs as expected

    Perhaps start separate thread covering Building & testing PropellerIDE on Pi2
    so this does not get buried ?
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 14:36
    jmg,

    Ray never did come back to us about his problems with SimpleIDE on the Pi.

    There are so may variables in there it's a bit premature to point fingers at compile setting used when building anything on whichever Pi or other.
  • GadgetoidGadgetoid Posts: 47
    edited 2015-02-03 14:47
    I haven't tried SimpleIDE yet, but I am aware of some quite perplexing issues on the release OS distribution for Pi 2. A simple C program set to delay 1000us, 1000 times will, for example, repeatably run for >15sec ( yes I know delays aren't absolute, but >15sec instead of 1sec is pretty severe and definitely not normal! ) and this behaviour breaks all sorts of things. It's being looked into, I also don't know what else might be affected.
  • jmgjmg Posts: 15,173
    edited 2015-02-03 14:59
    Gadgetoid wrote: »
    I haven't tried SimpleIDE yet, but I am aware of some quite perplexing issues on the release OS distribution for Pi 2. A simple C program set to delay 1000us, 1000 times will, for example, repeatably run for >15sec ( yes I know delays aren't absolute, but >15sec instead of 1sec is pretty severe and definitely not normal! ) and this behaviour breaks all sorts of things. It's being looked into, I also don't know what else might be affected.
    hmm. not quite the clone they expected it seems ?
    ( ~15 seconds would be where a ~286MHz clocked 32 bit timer wraps )
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 15:06
    Gadgetoid,

    Curious. I wish I had a Pi 2 here to test such code on. And SimpleIDE.
  • RsadeikaRsadeika Posts: 3,837
    edited 2015-02-03 15:44
    Ray never did come back to us about his problems with SimpleIDE on the Pi.
    I just wanted to make sure that it is known to be a problem, at least for me. I will work around this by just having the program compiled with SimpleIDE RC2 on my Windows 7 box. I am guessing that the problem might be because the version for the Raspberry Pi is SimpleIDE 0-9-45 and the latest version for Windows is RC2. I believe that 0-9-45 had some issues with how it worked with XMMC mode.

    It would be a lot more convenient for me if the version for Raspberry Pi was up to RC2, but ... I will just have to wait until a SimpleIDE version 1.0 for the Raspberry Pi shows up, and go from there.

    Ray
  • Heater.Heater. Posts: 21,230
    edited 2015-02-03 15:55
    OK Ray, I'm sure this will work itself out eventually. Seems the Pi builds are always behind the Windows builds which are always behind whatever is current.
  • Cluso99Cluso99 Posts: 18,069
    edited 2015-02-03 18:30
    FYI Element14 had ~80 Pi 2's yesterday (in Oz) :)

    Last night I started checking out assembler for the ARM.
    Seriously thinking about my own microcontroller software using the Pi2 with 4 ARMv7 cores @900MHz :)
Sign In or Register to comment.