Category : Khuyến Mại
QEMU Simulator for PIC32 and chipKIT
QEMU – Quick EMUlator QEMU (short for “Quick EMUlator”) is a generic and open-source machine emulator/virtualizer, and now a port of QEMU for PIC32 MCUs is available, which means some chipKIT boards are now supported.
The supported families include PIC32MX7 and PIC32MZ, and several boards including chipKIT Max32 and chipKIT Wi-FIRE are among the list of supported boards.
Serge has posted some of this information on the forum, and he welcomes volunteers to enhance and extend the simulator with more peripherals and board types.
Check out build instructions and examples for yourself on the wiki at GitHub.
Rating: 6.7/10 (3 votes cast) Rating: +2 (from 2 votes) January 28
2015January 26, 2015 chipKIT Max32, chipKIT Wi-FIRE, open-source machine emulator, , QEMU, quick emulator, simulator, virtualizer, WiFire chipKIT-based Kickstarter tweeq.
https://d2pq0u4uni88oo.cloudfront.net/projects/1332423/video-459932-h264_high.mp4 Happy Halloween to you ghouls and goblins from the latest, coolest Kickstarter, called tweeq, a micro-sized, Arduino-compatible platform based on chipKIT.
At smaller than an M&M, most of these boards fit on the tip of your finger, and yet there is so much potential to make great things with them.
Why not give them a gander and give ’em a quid or two; they have various pledge quantities, but hurry.
There’s only one month left to show your support.
Rating: 10.0/10 (3 votes cast) Rating: 0 (from 0 votes) October 31, 2014 , , , , , Robotics Arduino, , kickstarter, , .
Tweeq Remote programming a chipKIT Pi
So you have a chipKIT Pi, which you have dutifully attached to a Raspberry Pi, and you’d like to deploy it “in the field” (with the cows).
That’s fair enough.
What you’d like to be able to do, though, is upgrade the firmware on the chipKIT Pi without having to go into the field (those cows are scary, man!).
So how would you do that.
You can’t program the chipKIT Pi without pressing the RESET and BOOTLOAD-EN buttons (and you’re not about to train cows to do that for you), so what are your options?Well, UECIDE has the answer for you.
First you will need to modify your chipKIT Pi
Don’t worry, it’s only a simple small modification.
Basically you need to connect the BOOTLOAD-EN signal to one of the GPIO pins on the Raspberry Pi header.
Connect pin 8 of the chipKIT Pi pass-through header (GPIO17 on the Raspberry Pi) to the nearest pin of JP6 with a piece of fine wire.
I use 30AWG wire-wrapping wire.
This will allow the Raspberry Pi to trigger the bootloader automatically (hopefully future versions of the chipKIT Pi will have this modification in place already).
Now you can enter programming mode from the Raspberry Pi by setting GPIO 17 to an output and driving it LOW, then setting GPIO 4 to an output and driving that low too (it is connected to RESET), then releasing both the GPIO lines in reverse order.
It’s good to put a short delay between releasing GPIO 4 and GPIO 17.
To make things even easier we have a chipKIT Pi support package in our Debian repository
Add the repository to your /etc/apt/sources.list file:$ sudo nano /etc/apt/sources.listAdd the line:deb http://dist.majenko.co.uk/ stable mainYou can also add our signing key so it doesn’t ask if you want to install unauthorized packages:$ wget -O – http://dist.majenko.co.uk/key.asc | sudo apt-key add -The package is called “ckpi-support” and it sets up all you will need in order to program the chipKIT Pi remotely from UECIDE.
It will:Install avahi-daemon (if not already installed).
Configure a “ckpi” user.
Install scripts for controlling the chipKIT Pi:ckpi-reboot (reboots the chipKIT Pi)
Ckpi-program (reboots the chipKIT Pi and triggers the bootloader)
Install an mDNS service so UECIDE can find the board on the network
So go ahead and install the package now:$ sudo apt-get update $ sudo apt-get install ckpi-supportIf all goes well it will have asked you for a new password to give to the “ckpi” user.
Remember this, as you will want it again later.
One more small modification you will need to make (if you haven’t done it in the past) is to disable the “getty” process on /dev/ttyAMA0 (the serial port).
First edit (as root) the file /boot/cmdline$ sudo nano /boot/cmdlineRemove from that file any references to ttyAMA0 (there should be a console= entry in one line that points to it – remove it) and save the file.
DEBIAN WHEEZYEdit the file /etc/inittab$ sudo nano /etc/inittaband look for the line:T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100It is most probably right at the end of the file.
Comment the line out by placing a # at the start of it and save the file out.
You can now either reboot to enable the change, or trigger a reload of the file:$ sudo kill -HUP 1Now you’re good to go!DEBIAN JESSIEDisable and permanently kill the serial-getty service:$ sudo systemctl disable [email protected] $ sudo systemctl mask [email protected] might need to reboot after this to restore the /dev/ttyAMA0 permissions back to what they should be since the getty service leaves them in a rather odd state.
Now on to the UECIDE side of things… You’ll need the latest version of UECIDE as it has the networking support you’ll be using, so if you aren’t already running it then go ahead and download it.
This is the version for your PC of course, not for the Pi.
You don’t need it on the Pi.
Load UECIDE up.
Ensure the chipKIT Pi board is installed (and the latest version)
and after a few moments it should detect the Raspberry Pi for you:You should now be able to select the board from the “Discovered Boards” menu:And there should now be a suitable entry in the “Programmers” menu:Important note: Those images are from a slightly older version of UECIDE.
The current version lists the boards under the “Devices” menu in Hardware, not “Discovered Boards”.
Also it doesn’t currently notify you of boards as it finds them.
Just check the menu to see if the board is there.
Now you can just compile and upload your sketch as if you were directly connected to the chipKIT Pi.
The first time you upload it will ask you for the password for the “ckpi” user – the password you entered when installing the support package.
If you want you can tell UECIDE to save the password forever (it puts it in your preferences.txt file), but even if you don’t do that it will still remember it for the rest of your session so you won’t need to re-enter it again until you next load UECIDE.
Rating: 0.0/10 (0 votes cast) Rating: 0 (from 0 votes) August 10
2014February 16, 2016 Majenko Technologies , Bootloaders and Connectivity , Pi, Future online laboratories through chipKIT.
A few professionals have published a research paper “A novel concept for configuring online laboratories” with the use of PIC kit in the Experiment International Conference.
(See below abstract) They are interested in doing this with chipKIT in the future.
Abstract—Embedded online laboratories are becoming frequent nowadays, because they can include both the functionality of a data acquisition device and the functionality of a webserver and this, in turn, results in lower implementation costs.
However, while it is easy to configure a laboratory server which is located on a computer, the local configuration and control of an embedded laboratory is more challenging, because of the lack of interactive peripherals (such as the keyboard is to a computer).
This paper introduces a novel concept which allows administrators to easily achieve the local configuration of the embedded (on-chip) laboratory parameters (including network settings) by using a mobile device.
Parv, “A novel concept for configuring online laboratories”, in Proceedings of the 2nd [email protected] International Conference — Online Experimentation (exp.at’13), Coimbra, Portugal, September 18-20, 2013, pp.
79 – 82.
Rating: 10.0/10 (2 votes cast) Rating: 0 (from 0 votes) October 11
2013June 27, 2016 Lik , , , Libraries , chipkit laboratories, embedded system, 3 Comments on Future online laboratories through chipKIT Programming Microchip starter kits from MPIDE.
Running on Microchip Starter Kits.
MPIDE has been expanded explicitly to support all of the Microchip starter kits such as: PIC32 Starter Kit.
PIC32 USB Starter Kit.
PIC32 Ethernet Starter Kit.
Explorer 16 Starter Kit.
Currently for all of these boards you will need some sort of USB to serial adapter.
For all but the Exp-16 I use an FTDI cable that breaks out to pins.
I connect those to pins on the expansion board for uart1.
The PIC32 USB Starter Kit and PIC32 Ethernet Starter Kits are also compatible with the USB PIC32 bootloader.
The Explorer-16 has an on-board DB-9 RS-232 connector.
This is connected to UART2.
The bootloader is configured to use UART2 for the Explorer-16 and the Serial ports for Arduino are remapped so that Serial.print goes to uart2 and Serial1.print goes to uart1.
This is all done automatically so the user does not have to worry about it at all.
In order to install the bootloader on any of these boards, you have to have one of the Microchip compatible programmers such as the MPLAB ICD 3 or PICkit 3.
Ideally you should download MPLAB X IDE from microchip (http://www.microchip.com/mplabx) and use that to compile and burn the bootloader.
The bootloader source and pre-compiled hex files are all on github.
(https://github.com/chipKIT32/pic32-Arduino-Bootloader) Using other PIC32 boards.
As far as using MPIDE with other boards, the answer is YES, it should work with ANY PIC32 there is.
The only limit might be it won’t work on chips smaller than 32K, And that’s because it hasn’t been tried on anything smaller.
To get it to work on other boards, a few things have be be done.
First, the bootloader has to be burned onto the target board.
The source is on github and MPLAB is used to compile and burn the bootloader.
The multi-platform MPLAB-X was used on a Mac, but other versions should work as well.
If you using a chip that has not already been added to avrdude.conf, that has to be done.
You need to add a new entry to boards.txt and then you will be able to program the board directly from MPIDE.
Rating: 10.0/10 (1 vote cast) Rating: 0 (from 0 votes) February 16, 2013May 9, 2014 Arduino Users, chipKIT IDE, microchip starter kits, MPIDE, , software 2 Comments on Programming Microchip starter kits from MPIDE About PIC32 Interrupt Vectors.
This is a dump of the interrupt vector from the Max32 (32MX795F512L) It gives you an idea what is available and what is already in use.
Arduino-32MX795F512L>V show interrupt Vectors FLASH_PROG_BASE=9D000000 EBASE =9D000000 IntCtl =00000020 VectorSpacing =00000001 +++ 0= 02 00—0B4017F0 jump 9D005FC0 _CORE_TIMER_VECTOR +++ 1= 00 00—FFFFFFFF unused _CORE_SOFTWARE_0_VECTOR +++ 2= 00 00—FFFFFFFF unused _CORE_SOFTWARE_1_VECTOR +++ 3= 00 00—FFFFFFFF unused _EXTERNAL_0_VECTOR +++ 4= 00 00—0B401E5A jump 9D007968 _TIMER_1_VECTOR +++ 5= 00 00—FFFFFFFF unused _INPUT_CAPTURE_1_VECTOR +++ 6= 00 00—FFFFFFFF unused _OUTPUT_COMPARE_1_VECTOR +++ 7= 00 00—FFFFFFFF unused _EXTERNAL_1_VECTOR +++ 8= 00 00—FFFFFFFF unused _TIMER_2_VECTOR +++ 9= 00 00—FFFFFFFF unused _INPUT_CAPTURE_2_VECTOR +++10= 00 00—FFFFFFFF unused _OUTPUT_COMPARE_2_VECTOR +++11= 00 00—FFFFFFFF unused _EXTERNAL_2_VECTOR +++12= 00 00—FFFFFFFF unused _TIMER_3_VECTOR +++13= 00 00—FFFFFFFF unused _INPUT_CAPTURE_3_VECTOR +++14= 00 00—FFFFFFFF unused _OUTPUT_COMPARE_3_VECTOR +++15= 00 00—FFFFFFFF unused _EXTERNAL_3_VECTOR +++16= 00 00—FFFFFFFF unused _TIMER_4_VECTOR +++17= 00 00—FFFFFFFF unused _INPUT_CAPTURE_4_VECTOR +++18= 00 00—FFFFFFFF unused _OUTPUT_COMPARE_4_VECTOR +++19= 00 00—FFFFFFFF unused _EXTERNAL_4_VECTOR +++20= 00 00—FFFFFFFF unused _TIMER_5_VECTOR +++21= 00 00—FFFFFFFF unused _INPUT_CAPTURE_5_VECTOR +++22= 00 00—FFFFFFFF unused _OUTPUT_COMPARE_5_VECTOR +++23= 00 00—FFFFFFFF unused _SPI_1_VECTOR +++24= 00 00—0B401B67 jump 9D006D9C _I2C_3_VECTOR _UART_1A_VECTOR _UART_1_VECTOR _SPI_1A_VECTOR _I2C_1A_VECTOR _SPI_3_VECTOR +++25= 01 00—FFFFFFFF unused _I2C_1_VECTOR +++26= 00 00—FFFFFFFF unused _CHANGE_NOTICE_VECTOR +++27= 01 00—FFFFFFFF unused _ADC_VECTOR +++28= 00 00—FFFFFFFF unused _PMP_VECTOR +++29= 00 00—FFFFFFFF unused _COMPARATOR_1_VECTOR +++30= 00.