USBIO board with MPLAB IDE

Post Reply
mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

USBIO board with MPLAB IDE

Post by mgssnr »

Hi,

Sorry for the somewhat lengthy post.

I bought one of the cool usbio boards built with the PIC18F45K50 micro. It's really a great board, but it seems that the source code isn't not compatible with the most recent MPLAB IDE. Loading the project and attempting to compile gives nothing but errors. I got the project from the github link, and I tried the one from https://wiki.odroid.com/accessory/add-o ... and_odroid (there's a ZIP file that includes the source).

Is there a more recent version of this that will build with this IDE? I'm new to the PIC families, and haven't found enough resources yet to help me figure out exactly what I'd need to do what I want.

Basically, I want a more flexible firmware that allows things like pin configuration (PWM, UART, etc, etc) because the chip is pretty flexible and so is the board.

I know the board is an example as well as functional for some projects. The firmware is a great start, but I can't get it to compile much less modify it for what I want to do.

Thanks in advance,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

The tested latest version was MPLABX-IDE v2.05 a few years ago.

What errors did you meet while compiling the source with the latest IDE version?

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Thanks for your reply.

I will get back to you on this, with some info on where I put the code and what I'm seeing.

Sorry for the delay in responding; COVID-19 is causing me to be a little busier.

Regards,
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hi,

I appreciate your patience. I'm finally able to get back to this.

Here's what I've done.

a) git clone https://github.com/hardkernel/Odroid-USBIO into ~/work/
b) open MPLab X IDE v5.35
c) opened the MPLab.X project from "~/work/Odroid-USBIO/Microchip Solutions v2012-10-15/USB/Device - HID - Custom Demos/Firmware"
i) I get a notice that says "This will upgrade the project to the current project version. Would you like to continue? If you choose Yes, the project will be upgraded to the current version and the project can no longer be opened with the earlier version of the IDE." Yes/No
ii) I choose No.
iii) There are Configuration Errors:
>>>>>>>>>>>>>>>>>>
info: The project uses platform tool noID but that tool is not installed. From the main menu, select Tools then select Plugins. Install the missing plugin.
error: Configuration "PICDEM_FSUSB_K50" builds with "C18", but no toolchains of that type are installed.
Errors have occurred while loading one or more configurations.
If a specific error is not shown above, this may happen when you import a project from another computer.
+ You can add language tools in Tools->Options embedded tab.
+ You can change which language tool to use in the project properties dialog.
<<<<<<<<<<<<<<<<<<<

I did install a compiler for this SOC. xc8 v2.10. I don't recall now why I picked that, but something led me there.

In the Project Loading Error tab, I get the following

<<<<<<<<<<<<<<<<<<<
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F Starter Kit 1.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F46J50 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F47J53 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F87J50 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24F Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256DA210 Development Board.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256GB110 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256GB210 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ64GB004 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32 USB Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32MX460F512L PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32MX795F512L PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PICDEM FSUSB.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - dsPIC33E USB Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - dsPIC33EP512MU810 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - LPC USB Development Kit - PIC18F14K50.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - LPC USB Development Kit - PIC16F1459.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F87J94 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F97J94 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F Starter Kit 1.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F46J50 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F47J53 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F87J50 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24F Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256DA210 Development Board.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256GB110 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ256GB210 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC24FJ64GB004 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32 USB Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32MX460F512L PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC32MX795F512L PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PICDEM FSUSB.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - dsPIC33E USB Starter Kit.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - dsPIC33EP512MU810 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - LPC USB Development Kit - PIC18F14K50.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - LPC USB Development Kit - PIC16F1459.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F87J94 PIM.h" which does not exist in the disk. The project failed to load.
Error: Project "MPLAB" refers to file "HardwareProfile - PIC18F97J94 PIM.h" which does not exist in the disk. The project failed to load.
>>>>>>>>>>>>>>>>>>>

Lastly, in the Project Loading Warning, I get the following:

<<<<<<<<<<<<<<<<<<<
Some of the files in this Project "MPLAB" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process. Removing spaces from all file and folder names included in this project will eliminate this potential issue.
Some of the files in this Project "MPLAB" contain spaces or odd characters in their name or their path. This could potentially cause issues during the build process. This is a limitation of GNU Make tool that we use as part of our build process. Removing spaces from all file and folder names included in this project will eliminate this potential issue.
>>>>>>>>>>>>>>>>>>>

I hope this is helpful. I'd really like to do some different things with this board and expand its functionality.

Thanks in advance.

Best regards,
mgssnr
These users thanked the author mgssnr for the post:
Nobody93 (Thu Oct 29, 2020 3:42 pm)

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

My apologies, I didn't answer your question, really.

When I go to Production to build, I get the following:


error: Configuration "PICDEM_FSUSB_K50" builds with "C18", but no toolchains of that type are installed.
Errors have occurred while loading one or more configurations.
If a specific error is not shown above, this may happen when you import a project from another computer.
+ You can add language tools in Tools->Options embedded tab.
+ You can change which language tool to use in the project properties dialog.


Thanks,
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Next, when I clean up the project, I start getting errors during compilation like this:

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
make[2]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:150: build/PICDEM_FSUSB_K50/production/_ext/1785203669
/usb_function_hid.p1] Error 1
make[2]: *** Waiting for unfinished jobs....
../../../../Microchip/USB/HID Device Driver/usb_function_hid.c:107:10: fatal error: 'GenericTypeDefs.h' file not found
#include "GenericTypeDefs.h"
^~~~~~~~~~~~~~~~~~~
1 error generated.
(908) exit status = 1
../../../../Microchip/USB/usb_hal_pic24.c:99:10: fatal error: 'USB/usb.h' file not found
#include "USB/usb.h"
^~~~~~~~~~~
1 error generated.
(908) exit status = 1
make[2]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:158: build/PICDEM_FSUSB_K50/production/_ext/926206843/usb_hal_pic24.p1] Error 1
make[2]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:142: build/PICDEM_FSUSB_K50/production/_ext/926206843/usb_device.p1] Error 1
../../../../Microchip/USB/usb_device.c:252:10: fatal error: './USB/usb.h' file not found
#include "./USB/usb.h"
^~~~~~~~~~~~~
1 error generated.
(908) exit status = 1
make[2]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:166: build/PICDEM_FSUSB_K50/production/_ext/1472/main.p1] Error 1
make[2]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:174: build/PICDEM_FSUSB_K50/production/_ext/1472/usb_descriptors.p1] Error 1
make[1]: *** [nbproject/Makefile-PICDEM_FSUSB_K50.mk:91: .build-conf] Error 2
make: *** [nbproject/Makefile-impl.mk:39: .build-impl] Error 2
../main.c:44:10: fatal error: 'usart.h' file not found
#include <usart.h> // hk_usb_io
^~~~~~~~~
1 error generated.
(908) exit status = 1
../usb_descriptors.c:157:10: fatal error: './USB/usb.h' file not found

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

I understand these might need cleaned up; I started that effort once upon a time, but I ran into some other trouble with the files.

Perhaps the issue is that the project needs to be moved from one version of the tool to the other, but I'm probably not the person to do that.

Some of the warnings (like characters in file names) are disconcerting.

I appreciate any help you are willing to offer.

Regards,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

Try building other stock PIC18 project example in MPLab-X to narrow down root causes.

BTW, do you run the IDE on Windows PC? or Linux PC?

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hi, thanks for the quick response.

I'm using linux.

I don't know much at all about the MPLAB X IDE or any of its tools. From the errors, it's not the compiler, because it's being invoked. It seems like it's more the project.

Perhaps what I should do is create a new project from scratch and add the files I need, because it seems that the existing project is so out of date w.r.t. the tool that it cannot figure out where things are, even though they're listed in the project's settings under Included/Excluded files.

What do you think about that approach?

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hi, again,

Can you point me to some stock PC18 projects so I can get this moving forward?

I have some more uses for this usbioboard that I need to make mods to the code.

Regards,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

Sorry for late reply. I was off for a few days.

Can you search a pre-installed project for PICDEM FS USB Demo board?
https://www.microchip.com/DevelopmentTo ... DM163025-1

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

OK, so, I've got it building.

The UART stuff won't build, because I can't find the definitions that were in usart.h, and I haven't found any web pages that explain how to make the UART work now. But I don't really care about the UART at this point.

I got loads of warnings, which at the moment I'm not going to worry about:

../../../../Microchip/USB/HID Device Driver/usb_function_hid.c:175:: warning: (520) function "_USBCheckHIDRequest" is never called
../../../../Microchip/USB/usb_device.c:659:: warning: (520) function "_USBDeviceTasks" is never called
../../../../Microchip/USB/usb_device.c:1054:: warning: (520) function "_USBEnableEndpoint" is never called
../../../../Microchip/USB/usb_device.c:1248:: warning: (520) function "_USBStallEndpoint" is never called
../../../../Microchip/USB/usb_device.c:1301:: warning: (520) function "_USBCancelIO" is never called
../../../../Microchip/USB/usb_device.c:1419:: warning: (520) function "_USBDeviceDetach" is never called
../../../../Microchip/USB/usb_device.c:1588:: warning: (520) function "_USBCtrlEPAllowStatusStage" is never called
../../../../Microchip/USB/usb_device.c:1658:: warning: (520) function "_USBCtrlEPAllowDataStage" is never called
../../../../Microchip/USB/usb_device.c:1711:: warning: (520) function "_USBConfigureEndpoint" is never called
../../../../Microchip/USB/usb_device.c:1784:: warning: (520) function "_USBCtrlEPServiceComplete" is never called
../../../../Microchip/USB/usb_device.c:1936:: warning: (520) function "_USBCtrlTrfTxService" is never called
../../../../Microchip/USB/usb_device.c:2017:: warning: (520) function "_USBCtrlTrfRxService" is never called
../../../../Microchip/USB/usb_device.c:2121:: warning: (520) function "_USBStdSetCfgHandler" is never called
../../../../Microchip/USB/usb_device.c:2196:: warning: (520) function "_USBStdGetDscHandler" is never called
../../../../Microchip/USB/usb_device.c:2272:: warning: (520) function "_USBStdGetStatusHandler" is never called
../../../../Microchip/USB/usb_device.c:2345:: warning: (520) function "_USBStallHandler" is never called
../../../../Microchip/USB/usb_device.c:2388:: warning: (520) function "_USBSuspend" is never called
../../../../Microchip/USB/usb_device.c:2445:: warning: (520) function "_USBWakeFromSuspend" is never called
../../../../Microchip/USB/usb_device.c:2512:: warning: (520) function "_USBCtrlEPService" is never called
../../../../Microchip/USB/usb_device.c:2612:: warning: (520) function "_USBCtrlTrfSetupHandler" is never called
../../../../Microchip/USB/usb_device.c:2684:: warning: (520) function "_USBCtrlTrfOutHandler" is never called
../../../../Microchip/USB/usb_device.c:2737:: warning: (520) function "_USBCtrlTrfInHandler" is never called
../../../../Microchip/USB/usb_device.c:2828:: warning: (520) function "_USBCheckStdRequest" is never called
../../../../Microchip/USB/usb_device.c:2896:: warning: (520) function "_USBStdFeatureReqHandler" is never called
../main.c:431:: warning: (520) function "__reset" is never called
../main.c:438:: warning: (520) function "_Remapped_High_ISR" is never called
../main.c:444:: warning: (520) function "_Remapped_Low_ISR" is never called
../main.c:469:: warning: (520) function "_High_ISR" is never called
../main.c:475:: warning: (520) function "_Low_ISR" is never called
../main.c:487:: warning: (520) function "_YourHighPriorityISRCode" is never called
../main.c:499:: warning: (520) function "_YourLowPriorityISRCode" is never called
../main.c:1797:: warning: (520) function "_USBCBSuspend" is never called
../main.c:1849:: warning: (520) function "_USBCBWakeFromSuspend" is never called
../main.c:1881:: warning: (520) function "_USBCB_SOF_Handler" is never called
../main.c:1904:: warning: (520) function "_USBCBErrorHandler" is never called
../main.c:1955:: warning: (520) function "_USBCBCheckOtherReq" is never called
../main.c:1980:: warning: (520) function "_USBCBStdSetDscHandler" is never called
../main.c:2006:: warning: (520) function "_USBCBInitEP" is never called
../main.c:2101:: warning: (520) function "_USBCBSendResume" is never called
../main.c:2176:: warning: (520) function "_USER_USB_CALLBACK_EVENT_HANDLER" is never called
../../../../Microchip/USB/usb_device.c:1529:: warning: (759) expression generates no code
../../../../Microchip/USB/usb_device.c:2078:: warning: (1471) indirect function call via a NULL pointer ignored
../../../../Microchip/USB/usb_device.c:2041:: warning: (1498) pointer (_outPipes.pDst) in expression may have no targets
../../../../Microchip/USB/usb_device.c:2078:: warning: (759) expression generates no code
../../../../Microchip/USB/usb_device.c:2285:: warning: (759) expression generates no code
../../../../Microchip/USB/usb_device.c:2799:: warning: (1471) indirect function call via a NULL pointer ignored
../../../../Microchip/USB/usb_device.c:2799:: warning: (759) expression generates no code
../main.c:760:: warning: (1262) object "Fake" lies outside available data space
::: warning: (1311) missing configuration setting for config word 0x300008; using default
::: warning: (1311) missing configuration setting for config word 0x300009; using default
::: warning: (1311) missing configuration setting for config word 0x30000A; using default
::: warning: (1311) missing configuration setting for config word 0x30000B; using default
::: warning: (1311) missing configuration setting for config word 0x30000C; using default
::: warning: (1311) missing configuration setting for config word 0x30000D; using default

This is NOT a clean build by any stretch of the imagination. This whole project needs to be cleaned up for Linux, and I'm not familiar enough with MPLab to do it.

I think the issue is that this whole thing has been dropped by Microchip. I tried to look up the "pre-installed project for PICDEM FS USB Demo board" you mentioned, but I didn't find anything yet. (I'm actually trying to run down too many rabbit holes.)

I'm a little afraid to brick my board before flashing tihs hex file, so I'm going to wait.

What I had to do was add some include paths to the project and then use the header file <pic18f45k50.h> from the xc8/v2.10/pic/include/ directory.

I'm going to buy a couple more of these, just in case :)

They're really very useful boards, and I'm glad I've gotten ahead on building the code. I'll have to dig through the warnings.

In the event that you're bored and decide you want to rebuild the project and re-post it, that'd be good, too :)

At any rate, thanks for your help and suggestions.

Regards,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

I've installed MPLABX v5.35 and xc8 v2.10 on my ODROID-H2 which runs Ubuntu 19.10.
And I ran MPLAB X IDE and opened a preinstalled PICDEM2PlusPIC18F4520_1 project and compiled it without problem.
So my very basic build environment setup seems to be fine.

I will try to find a recent USB demo project in Microchip site.

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

I've downloaded the latest MLA(Microchip Libraries for Applications) v2018-11-26 package from this link.
https://www.microchip.com/mplab/microch ... plications

And set the target dirctory to ~/mla in the installation process and completed well.
Then, opened picdem_fs_usb_k50.x example project which was made for our target CPU PIC18F45K50.
~/mla/apps/usb/device/hid_custom/firmware
I could build the example and it seems to be a good starting point for your development. :)

You will need to change the program start address to 0x1000 from 0x0000 to work with the pre-programmed USB boot loader in the USBIO board.
If you build an application firmware project that needs to be programmable by this bootloader firmware, there are two linker setting changes that are required to the application project.

1. Under the build configuration-->XC8 global options-->XC8 linker-->Option categories:Additional options the "Codeoffset" must be set to: 0x1000
See the "Required_Application_Project_Codeoffset_Linker_Settings_for_XC8.png" image for example view.

2. Under the build configuration-->XC8 global options-->XC8 linker-->Option categories:Memory model, the "ROM ranges" must be set to: default,-0-FFF,-1006-1007,-1016-1017
See the "Required_Application_Project_ROM_Ranges_Linker_Settings_for_XC8.png" image for example view.

In addition to the above, make certain that all configuration bit settings between the bootloader firmware project, and the application firmware project,
match 100% exactly. If they do not match, modify one or both projects until they do.


I also found the USB HID boot loader example project for PIC18F45K50 in this directory too.
~/mla/apps/usb/device/bootloaders/firmware/pic18_non_j
But I couldn't compile it due to some errors.
A Readme file shows a bad news! :evil:
This bootloader firmware is intended to occupy the program memory region 0x000-0xFFF.
The application firmware is supposed to occupy the 0x1000-[end of flash] region of program memory.
In order to fit within the 0x000-0xFFF region, this project must be built with the PRO mode optimizations enabled.
I think we can use a trial xc8 PRO version which can run for a few weeks for free. ;)


BTW, do you have a hardware dev tool something like PICKit 4 or PICKit3?
These users thanked the author odroid for the post (total 2):
mgssnr (Fri May 01, 2020 9:41 pm) • Nobody93 (Thu Oct 29, 2020 3:41 pm)

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Wow, thank you!

I was going to start playing with the MCC today using information I found in main.c but this is much more helpful.

I do not have a PICKit 4. I was going to rely on the bootloader on the board.

I will follow your instructions.

I *JUST* figured out how to get the MLA yesterday evening, after I posted, so I have that now.

I'll let you know how it goes.

Regards,
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hey, thank you.

That example is perfect. This will let me start fresh.

I appreciate your help!

I'll let you know how it goes.

Regards,
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

From the reading I've done, it doesn't seem like I should have to rebuild the bootloader.

But if I do, can it be reprogrammed without a PICkit? e.g. can I do it the same way the application is updated?

Regards,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

Right. You don't need to rebuild the bootloader.
I just wanted to share how to build it with the latest IDE and compiler.
You need a Pickit3/4 or other ICE to flash the boot loader.

You can download your application via the preinstalled USB bootloader.
Once you test your compiled application, please let me know the result.

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Thanks for your comments. I've no need to flash the bootloader AFAIK. Perhaps I'll buy a PICKit later for fun.

So, I'm now chugging along, thanks in large part to you pointing me to the MLA sample code.

The way Microchip organized this will make it difficult to move such a project out of the MLA directories, but it's something I'll have to do later.

I'll give you all this code later, when it can do everything (and more) that the original one does. Hopefully having a more recent version will make it better for people.

Thanks!

Regards,
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hello,

The Pickit 3 and 4 both seem to have 6 pins on them, but the USB IO board only has 5. Is an adapter needed, or is it an issue of one of the outside pins not been required?

I'm looking to buy a 3 just in case, but I wanted to check first.

Thanks,
mgssnr

User avatar
odroid
Site Admin
Posts: 35871
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 1316 times
Been thanked: 910 times
Contact:

Re: USBIO board with MPLAB IDE

Post by odroid »

We didn't use the pin #6 PGM(LVP) signal.
Image
These users thanked the author odroid for the post:
mgssnr (Fri May 01, 2020 9:41 pm)

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Thank you!

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Hi,

Things are going along very well.

I'm confused about something and I can't figure out why I can't change the sd002 string. Every time I do it, build, flash, when I boot the board, the host USB doesn't see the USB IO board anymore.

I've looked for a reason why on google and microchip's forums, but no luck.

Why would that be?

Thanks!
mgssnr

mgssnr
Posts: 16
Joined: Sat Mar 07, 2020 1:23 am
languages_spoken: english
Has thanked: 2 times
Been thanked: 2 times
Contact:

Re: USBIO board with MPLAB IDE

Post by mgssnr »

Please disregard the last message.

The issue is that somehow linux differentiates devices with the same idVendor:idProduct but different ID strings.

I'm running under a virtual machine, so all I had to do was tell the VM that it needed to pass that USB device to itself.

Regards,
mgssnr
These users thanked the author mgssnr for the post:
odroid (Wed May 06, 2020 4:28 pm)

Nobody93
Posts: 1
Joined: Tue Jul 14, 2020 12:34 am
languages_spoken: English, German
ODROIDs: Odroid XU4
Has thanked: 2 times
Been thanked: 0
Contact:

Re: USBIO board with MPLAB IDE

Post by Nobody93 »

Thank you for the Idea to start with demo app from the MLA (Microchip Libraries for Application)

Trying to build the USB IO Source with the actual toolchain was making me crazy.
However, I have also now a good basis to implement my application.

NOTE: This Application will be a more complex IO-Expander (with Frequency Counting, Single Wire Interface for reading Temperature Sensors, ...)
And this will be then connected to my Odroid C1+ and read with Python.

Post Reply

Return to “USB IO”

Who is online

Users browsing this forum: No registered users and 2 guests