RetroBSD

2.11BSD operating system for microcontrollers
It is currently Tue Oct 15, 2019 12:08 pm

All times are UTC




Post new topic Reply to topic  [ 18 posts ] 
Author Message
PostPosted: Fri Feb 19, 2016 6:39 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
See Olimex blog for details: https://olimex.wordpress.com/2016/02/12/first-pic32-emz64-boards-for-embedded-world-are-now-testing/

Image

This board is using the new PIC32MZ2048EFH064 with 2MB of Flash, 512KB RAM, Ethernet, CAN and fast 18Msps 12bit ADC.

On the board you can see:
  • USB-OTG
  • USB Host
  • Ethernet 100Mb
  • Audio input
  • Audio output
  • OLED LCD 128×64 pixels
  • microSD card
  • CAN driver
  • 3x buttons
  • Reset
  • LEDs
all this in compact credit card size format.

At Embedded World in Nurenberg 23-25 of February we will give away these boards but only to registered/approved developers. If you want to take your board at the show please send us e-mail and write what projects you have done, so we can confirm that your board is reserved. Important: we will not give away boards to Embedded world visitors who have no reservation/approval from us in advance.

You can’t visit Embedded World? Do not worry you still have chance to receive free board – just send us e-mail and tell us what projects you have done with PIC or Olimex boards before. We can decide to send you by post one of these free of charge.


Top
 Profile  
 
PostPosted: Fri Feb 19, 2016 2:27 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi Serge,

Please add my name to the request list.

I think a very worthwhile project is making a PIC32 cluster actually work usefully.

Along the lines of the discussion on the Ethernet Shield driver thread.

Basically a bunch of PIC32s that talk to one another allowing one PIC32 to have another PIC32 do a task and return that task's results. As I see it there is no central hub and no router device as a point of failure. All PICs talk to each other over a common few wire 'bus'.

I like Pito's idea of some sort of simple Job Control Language.

I could see one PIC32 monitoring communications and doing partial analysis and reporting results. For example testing the Ethernet port on a product being manufactured to see if the waveshapes look 'OK'. Another PIC32 generates, receives and analyses audio signals.

I have something like this running and testing the products we manufacture. It is driven by an old PC [ 8088 with dual floppy disks and 10base2 ].Talks to the PIC16s VIA a serial 'bus', returns results to the 'main' PC and displays them. [ Am I the last person in the world actually using a dual floppy PC for real work? :) ] And for Matt's edification, I still have several boxes of ISA cards.

Today it makes more sense to make this type of apparatus out of interconnected PIC32s and other one chip microcomputers.

I can easily see this evolving into a self configured test system for small and larger manufacturing companies. Take the standard building blocks, add your custom stuff and have a cheap manufacturing test system that you didn't have to design and make :). Along with a company to support it [me?] :).

Anyways, that is what I find fun :) :).

Lots of fun :).

Wiz


Top
 Profile  
 
PostPosted: Sat Feb 20, 2016 2:41 am 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
Cool! I'm sure I'll pick one up at some point.
Audio... hmm... that would open up a slew of new possibilities for LiteBSD (and ports/packages to use!)

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Mon Feb 22, 2016 10:01 am 

Joined: Mon Nov 24, 2014 1:07 pm
Posts: 58
I'd love one of these, it'd make my life easier than it has been with the HMZ144!! Can you put me down for one of these if that's possible / ok?

The addition of the oled screen is great, I use these quite extensively and they're really awesome for the amount of money you pay. Although they are quite small, they're still really clear and readable for small devices that need to show data or allow configuration without a large bulky lcd attached to them.


Top
 Profile  
 
PostPosted: Fri Apr 08, 2016 3:16 am 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
Got one of these in the mail yesterday. (Thanks!)
However, pic32prog doesn't recognize the board :( Says "No target found."
I figure I'll leave this here for Serge to see :)

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Fri Apr 08, 2016 3:18 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
I haven't got mine yet... :(


Top
 Profile  
 
PostPosted: Fri Apr 08, 2016 3:22 am 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
When you get yours, let me know how you got a kernel onto it :)

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Fri Apr 08, 2016 3:32 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
Sure! :)


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 6:11 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
LiteBSD kernel for EMZ64 board is ready for download: litebsd-emz64-2016-04-12.zip

Here you can see the kernel configuration file: EMZ64.pic32

Detailed board information is available on a wiki page: Olimex EMZ64 board

To flash the kernel into the board, you need to use an external programmer like PICkit2 or one of it's clones (I prefer iCP02):
Code:
$ pic32prog
Programmer for Microchip PIC32 microcontrollers, Version 2.0.192
    Copyright: (C) 2011-2015 Serge Vakulenko
      Adapter: PICkit2 Version 2.32.0
    Processor: MZ2048EFH064
 Flash memory: 2048 kbytes
  Boot memory: 80 kbytes
         Data: 518696 bytes
        Erase: done
Program flash: ################################################################ done
 Program boot: ### done     
 Verify flash: ############################################################### done
  Verify boot: ## done       
 Program rate: 3630 bytes per second

Ethernet port is configured and enabled by default:
Code:
Copyright (c) 1982, 1986, 1989, 1991, 1993
   The Regents of the University of California.  All rights reserved.

4.4BSD-Lite build 0 compiled 2016-04-12
    root@goa.vak.ru:litebsd-sources/sys/compile/EMZ64.pic32
cpu: PIC32MZ2048EFH064 rev A1, 200 MHz
oscillator: system PLL div 1:6 mult x50
cache: 16/4 kbytes
real mem = 512 kbytes
avail mem = 344 kbytes
using 18 buffers containing 73728 bytes of memory
spi2 at pins sdi=RD3/sdo=RD2/sck=RG6
spi4 at pins sdi=RD11/sdo=RD5/sck=RD10
en0 at interrupt 153, MAC address d8:80:39:b5:35:3a
en0: <SMSC LAN8720A> at address 0
uart4 at pins rx=RD0/tx=RD4, interrupts 170/171/172, console
sd0 at port spi2, pin cs=RG9
gpio1 at portB, pins -iii-iiiii------
gpio3 at portD, pins ------i---------
gpio5 at portF, pins ----------iii-ii
gpio6 at portG, pins -------ii-------
sd0: function groups 1/1/1/1/1/3, max current 200 mA
sd0: type SDHC, size 15645696 kbytes, speed 50 Mbit/sec
sd0a: partition type b7, sector 2, size 204800 kbytes
sd0b: partition type b8, sector 409602, size 32768 kbytes
sd0c: partition type b7, sector 475138, size 102400 kbytes
WARNING: preposterous clock chip time -- CHECK AND RESET THE DATE!

starting file system checks.
/dev/rsd0a: file system is clean; not checking
starting network
clearing /tmp
standard daemons: update inetd.
Fri Dec 18 17:40:42 PST 2015


4.4BSD-Lite (bsd.net) (console)

login: root
Last login: Fri Dec 18 17:40:38 on console
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.   All rights reserved.

4.4BSD-Lite UNIX #1: Fri Apr 01 00:00:00 PDT 1994

Welcome to 4.4BSD-Lite!

erase ^H, kill ^U, intr ^C status ^T
Don't login as root, use the su command.
# ifconfig en0
en0: flags=63<UP,BROADCAST,NOTRAILERS,RUNNING>
        inet 20.2.2.1 netmask 0xff000000 broadcast 20.255.255.255
# _


Top
 Profile  
 
PostPosted: Wed Apr 13, 2016 6:41 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi All,

Just had mine come in the mail :).

It is a VERY NICE piece of engineering. My hats off to the engineers at Olimex!

I still have yet to purchase a 'real' Microchip ICSP programmer. So it may be a bit before I can join the party!

Someone 'else' [I am too slow] really needs to do an ICSP app for RetroBSD.

Maybe there is an ICSP program somewhere inside Microchip that works on PIC32 and could be ported to RetroBSD?

I plugged in a USB cable. It comes up running some sort of factory test routine. I was most impressed to see that. Makes it easy to tell that what was manufactured really works.

When I plugged in the ethernet that comes up too. Maybe this unit is already on-line when I plug it in?

Gotta get on the Olimex website and see what I can learn.

Lots of fun :).

Wiz


Top
 Profile  
 
PostPosted: Fri Apr 29, 2016 3:02 am 

Joined: Sun Dec 07, 2014 1:47 am
Posts: 22
Already managed to deadlock mine...;)

Need more memory for NFS...


Top
 Profile  
 
PostPosted: Sat Jun 04, 2016 12:53 am 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
Maybe someone can help me.
I have a PICkit3. It has the scripting firmware so I can use it with pic32prog.
I can flash my EMZ64 no problem. But after flashing with the LiteBSD kernel, the board is bricked. Nothing comes up.
If I flash something from Olimex's website onto the EMZ64 using pic32prog, it works great.

Stumped as to why I can't flash the LiteBSD kernel onto it.

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Sat Jun 04, 2016 2:43 pm 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1092
Hi Brian,

I sounds to me like the memory layout of what you compiled doesn't match the board?

So, you can load it into the flash OK, but it doesn't appear to be working.

Being a low level sort I wrote my own low level boot loader. When I start the board it is running my own software. I can then look at flash to see what got loaded where before I actually try to start the kernel. I even do bit-bang serial so chip uart problems don't stop my debugger from being useful.

To start BSD either there is a timeout or I type 9d000000g which calls 9d000000 which is the kernel start address.

In that way when it doesn't run, I can piece apart where the failure really is.

All that said, getting my bootloader into a new chip is still a chore :). But once done, things move forward one step at a time.

Lots of fun :).

Wiz


Top
 Profile  
 
PostPosted: Sat Jun 04, 2016 5:57 pm 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
Hey Wiz --

I should have mentioned that I'm using the kernel that Serge posted earlier in this thread, not my own.

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Sat Jun 04, 2016 8:07 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
Sounds to me like you need the bootloader installed first - IIRC the "normal" kernel is compiled to fit into the memory map imposed by the bootloader. Without the bootloader the kernel will never execute.

The other option is to compile a "bare bones" kernel that doesn't expect the bootloader to exist.

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Sun Jun 05, 2016 2:21 am 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
At the risk of continuing to sound stupid, where can I find that? :D

_________________
@__briancallahan on Twitter


Top
 Profile  
 
PostPosted: Sun Jun 05, 2016 2:50 am 
Committer
User avatar

Joined: Wed Oct 10, 2012 11:01 pm
Posts: 1081
Location: Sunnyvale, CA
There is no bootloader on the EMZ64 board.
LiteBSD kernel runs over a bare metal PIC32MZ chip.
Please note: there is no USB support in the kernel.
For console, you have to use an external TTL-to-USB adapter, like FT232RL.
See EMZ64 wiki page for details.


Top
 Profile  
 
PostPosted: Sun Jun 05, 2016 3:50 pm 
Contributor
User avatar

Joined: Sun Oct 20, 2013 3:15 am
Posts: 322
Thanks Serge. I was assuming that the microUSB was also a console like the WiFIRE has.
But then I remembered that the EMZ64 has an Ethernet jack, so you can just telnet in :)

_________________
@__briancallahan on Twitter


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 18 posts ] 

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron




Powered by phpBB® Forum Software © phpBB Group

BSD Daemon used with permission