Hello everybody,
I have been working for some time on the implementation of tools for coding an application in Qt5 on a Gumstix Overo platform with a Yocto Rocko kernel.
After some effort I managed to set up the development tools:
- Create a bootable SD card with Yocto Rocko and Qt5.
- Get cross-compilation tools to code Qt5 linux support on Gumstix Overo (ARM).
- Configure QtCreator to develop code and compile it for the Gumstix Overo.
All my research work with explanatory "step by step" are available on this link.
In order to use the I2C part of the Gumstix Overo, I would like to exploit the small OLED SSD1306 display.
I found a project that did it for a Beagle Bone here.
And the library practically ready to use here.
After adapting the project for the Gumstix Overo and compiling the code, I can start the application.
The problem is that after a short time running the program stops and show me these two errors.
- ioctl error: Remote I/O error.
- Chunk writtent to RAM -Failed.
The display of the first error comes from an additionnal part that I have added in the code in line 202 there.
The display of the second error comes from the library in the line 777 there.
My unsuccessful searches on the internet make me to ask you for help.
Small precise, given the I2C communication voltage levels between the Gumstix Overo and the SSD1306 OLED display, an electronic adaptation has be made.
the electrical assembly
I2C waveform
Voltage level adaptation schematic
Thank you all.
Ok I found the solution.
The problem was the logical level converter that not working for 1.8 VDC.
I choose the PCA9306 Breakout from sparkfun there and it's working well.
I hope that will help someone.
Related
I'm trying to emulate STM32F429I discovery board using qemu & eclipse IDE. I got the blinky example running with the led turning on and off on the graphics screen but I have tried an example to run the on-board screen and it doesn't seem to be running, Is it supported? Also, many drivers fail when simulated with qemu (sdram, rcc, ...) How can I know exactly what peripherals that are fully supported?
Here's the part of documentation about the board, What is meant by "FP not emulated" anyway?
Note: Why this question is not off-topic
Some people seem to think this question is off-topic, and it would be better suited for Super User. Please give me a chance to explain why that's not the case.
The question is not about "general computing hardware" but about "embedded software". In the topic of "embedded software", there are tons of questions on StackOverflow related to OpenOCD, a popular open-source tool to connect your computer to embedded software development boards. All these questions are considered totally okay for StackOverflow. My question on this page is about PyOCD - an emerging OpenOCD alternative. So if you vote to close this question, then please also vote to close the 565 (!) other questions about OpenOCD too ;-)
I've got a NuMaker-M032SE V1.3 board from Nuvoton that I'm trying to flash/debug with PyOCD. It's my first time I'm experimenting with PyOCD and with Nuvoton chips. Unfortunately, PyOCD cannot find the device. I'll go step-by-step through the whole procedure. Please tell me what I did wrong.
1. My system
I'm running 64-bit Windows 10 on my desktop computer. I've got Python 3.8 and recently installed the latest PyOCD development version from a cloned GitHub repository (see https://github.com/mbedmicro/pyOCD).
2 Install Microcontroller board
Note: this paragraph is simply to show you the background situation, before I move on to explain the actual problem I got with PyOCD
I've got a Nuvoton NuMaker-M032SE V1.3 microcontroller board:
This board has a Nu-Link2-Me V1.0 probe on the right side. The first time I connect my board to my computer nothing really happened. So I figured out I had to install the Nuvoton ICP tool that comes with the Nu-Link USB Driver 1.6:
You can download the Nuvoton ICP tool here: https://www.nuvoton.com/hq/support/tool-and-software/development-tool-hardware/programmer/
When I first start the sofware, I see this:
And I get a request to update the firmware on the Nu-Link2-Me V1.0 probe:
I click OK and wait for the firmware update to complete. I plug out and back in the board. Windows clearly notices the device:
I can also see the device in my Control Panel > Device Manager. It's listed under Universal Serial Bus Controllers as Nuvoton Nu-Link2 USB:
3 Prepare PyOCD
PyOCD has a few built-in targets. But not the Nuvoton chip I got. So I consulted the documentation at https://github.com/mbedmicro/pyOCD/blob/master/docs/target_support.md and learn that I need to download a pack from http://www.keil.com/dd2/pack/ . That's where I download the Nuvoton ARM Cortex-M NuMicro Family Device Support pack:
Because I downloaded the pack manually, I know that I'll have to add the parameter --pack="C:/path/to/pack/Nuvoton.NuMicro_DFP.1.3.5.pack" to every PyOCD command, to ensure that PyOCD can access this pack whenever it needs to.
4. Connect PyOCD with Nuvoton board
I believe my microcontroller board is properly installed to go on to the final step: connect PyOCD to the Nuvoton microcontroller board.
First I want PyOCD to find the board. I issue the following command in a Windows console:
$ pyocd list --pack="C:/path/to/pack/Nuvoton.NuMicro_DFP.1.3.5.pack"
Unfortunately, I get the response:
No available debug probes are connected
I tried a few times, both with and without the --pack parameter. I always get the same error message.
Note:
I had expected to see something like:
# Probe Unique ID
---------------------------------------------------------------------------
0 ARM CMSIS-DAP v1 000000800a0c882800000000000000000000000097969902
That's the output I get when I issue the $ pyocd list command and I have my SWDAP probe connected to my computer. The SWDAP is the official probe from ARM (see https://os.mbed.com/components/SWDAP-LPC11U35/) that runs the DAPLink firmware (see https://github.com/ARMmbed/DAPLink).
I got a reply from Nuvoton. Apparently the NuMaker-M032SE V1.3 board is not yet supported in PyOCD at the time of writing (02 Dec 2019). At the moment, only NuMaker M252/M263 boards are supported.
Nuvoton will make efforts to support these boards in PyOCD too, in the future.
I recently got a new Mbed board - this one is MTS Dragonfly. I can't get flash-disk to show up correctly, and I am wondering if I have got a DOA module, or I am doing something wrong. Does this happens to other Mbed boards?
I have installed drivers from manufacturer website and do have a working serial connection, which defaults to the cellular module. However the flash disk does not show up correctly. Unlike other Mbed boards, I am greeted with a message "please insert disk" and I see no file system.
Interesting part is that the mbed microcontroller - that is the one doing the programming - is on a separate development / breakout board. The target is a separate module that is meant to be used in production.
If I do not insert the target into the development board, and connect development board to the PC, I get the same error. I have looked at diskpart, and when no target is present, it shows up as a 16 KB disk with no partitions or volumes.When the module is inserted, diskpart reports ~512 KB of space, also with no partitions. Thus I guess that I am plugging in the module correctly.
I have seen user discussions for a 'bricked' mbed board (damaged file-system), and this situation looks similar to me.
I tried diskpart to create a partition, or clean the disk, and it throws an IO error.
This question on mbed site
I just tested all of my Mbed boards and discovered that this is a regression in Windows 10 anniversary update.
MTS-Dragonfly and another board, Delta DFCM-NNN40, do not show up with a valid partition on any of my Windows 10 machines. I have a couple of FRDM boards and those work fine.
I tested Ubuntu, and it has no issue displaying the disk drives or programming the boards. I have not tested other versions of Windows. A workable solution is is to use Ubuntu in VirtualBox, and pass it control of the USB device.
I wonder by any chance is there a way to install vxworks on vdx86d(vdx6354)? I searched a lot on the net and did not find NO to this question, but no manual or help could be find by me. anybody did this before and know how to do it?
VxWorks certainly runs on PC architecture x86 targets; there is probably already a suitable 80486 BSP that will suit this board. You can search for a suitable BSP here. There is only one BSP explicitly listed for 486 targetted at VxWorks 5.4/Tornado 2.0 - so it is as antique as 486 architecture itself. VxWorks 6.9 however has a single unified BSP for x86 which will no doubt work with your board.
VxWorks is not "installed" as such in the same way as a GPOS such as Linux or Windows; rather you link your application with the VxWorks libraries to create an application image that runs directly on boot. How the bootstrap process works varies between architectures and hardware implementation, but as a generic PC architecture board, booting a VxWorks application on your board will be the same as any other PC target. As such what you need to look for are directions on booting VxWorks on PC architecture rather then being specific about your actual board.
On PC architecture you can boot from mass-storage, or from a network server. Booting via a network connection is the normal method during debug/development. A great deal of the information available is for older versions of VxWorks. However it seems that it is possible to boot VxWorks via a VxWorks specific bootstrap, or from a generic PC bootloader such a s U-Boot.
Ultimately Wind River Support is probably a good starting point.
I'm thinking about using a microcontroller with an 8051 core from Silicon Laboratories.
I hope that I can use C rather than assembly language, so I installed SDCC.
I installed the "Silicon Laboratories IDE" to download the executable binaries to the on-chip Flash program memory.
It also supposedly can be set up (under the Project > Tool Chain Integration menu)
to use "any" 8051 compiler.
I tried to set it up to use SDCC, but every time I hit the "Assemble/Compile File" button it tells me
"Compiler process did not sucessfully complete."
How do I get new C code I write onto the SiLabs C8051F310 chip?
Is there a web site with a step-by-step HOWTO?
(Would it be easier to use a MAKEFILE that calls SDCC, only using the "Silicon Laboratories IDE" for the very last step of downloading the executable binary to the chip?)
Start with Silicon Labs Application Note 198 - INTEGRATING SDCC 8051 TOOLS INTO THE SILICON LABS IDE*. It is written for an older version of the IDE, but the general configuration should remain the same. It is probably important to note that AN198 needs updating for SDCC 3.0.0. Additional information from the Silicon Labs MCU User Forum or Microcontrollers Knowledge Base may prove useful as well.
The SDCC Compiler User Guide* can be useful if additional command line options are desired.
The Silicon Labs USB Debug Adapter can be used with the Silicon Labs IDE and the on-chip debug/programming circuitry of the C8051F310* for programming the MCU and debugging your code.
* PDF Link