PDA

View Full Version : Amicus 18 FTDI driver on W10?



HenrikOlsson
- 9th April 2017, 00:02
Hi,
So I've got myself a new PC (with Window 10) and I'm slowly setting everything up.

I'm now at the point where I need to get the Amicus 18 bootloader to work. Plugging an Amicus 18 board in to the PC makes it show up in the device manager but no driver is installed. So I installed Proton IDE (2.0.3.3 with Proton compiler 3.5.9.2) but no dice.

I tried to manually install the driver by pointing the driver wizard to the Amicus18 USB Driver folder within the ProtonIDE installation but it complains about a missing hash value.

Tried downloading the generic FTDI CDM driver (2.12.26) and pointed it to that but no go.

I've Googled for a while and found an archived thread on the Proton forum where someone apparently provides a solution but I can't seem to find the attachment anywhere.

So, anyone knows how to get the Amicus Loader to work on Win10? I use that board extensively when trying and debugging quick things when helping out her on the forum, I'd hate to see it not working on W10.

I'd appreciate any pointers, thank you!

/Henrik.

HenrikOlsson
- 9th April 2017, 00:13
BTW, plugging in a generic USB to UART board based on the FTDI FT232RL (same chip as on the Amicus 18) works just fine.

HenrikOlsson
- 9th April 2017, 08:53
More info:
On the Proton forum I found a thread with links showing how to install unsigned driver so I followed that and was able to install the Amicus 18 serial port driver (which again is nothing other than the standard FTDI driver as far as I understand) and it shows up correctly in device manager. But when rebooting into normal mode and plugging in the Amicus 18 it again refuses to use the driver.

For reference, here's the thread (http://www.protonbasic.co.uk/showthread.php/75562-Amicus-18-on-Windows-10-problem) on the Proton forum.

/Henrik.

pedja089
- 9th April 2017, 12:41
That is new "state of art" way to protect user from malicious drivers. Or to be honest, very good way to get more money. Because certificates have expiration date. You know, after some period drivers turn bad....
And you pay about 200-500$ per year to maintain drivers signed and to redistribute new signed driver every 1 to 3 years.
You have option to get 32bit version, and then it shouldn't disable unsigned drivers, go back to win 7, or pay to sign driver...
Even if original driver is signed, they probably changed PID and VID for Amicus, so that render driver useless.

There is one more option, but probably wont work.
You can try to manually force FTDI driver to Amicus.
1. Uninstall all drivers for Amicus.
2. When you plugin USB cancel automatic search.
3. Go to device meager right click properties, go to driver tab, click update driver
4. Let me browse option, Then select from list, or what ever is called on win10
5. Then click to have disk, select FTDI signed drives files.
6. Click what ever is needed to install it. You should get some errors that driver isn't compatible, etc...
This you may expect with all drivers stored on disc. So you need always to have new signed driver. Or at least every couple years.
I have this issue with microchip drivers for my devices. I have CDC on couple devices and just changer PID and VID to match with PID and VID in device, and that makes driver unsigned. And you also need to pay VID to USB...
Also there is some changes in CE certification for EU. So it seems that small manufacturers have no chance....
Hope that this help you.

tumbleweed
- 9th April 2017, 14:25
Even though the chip on the amicus18 board is an FT232RL, the USB PID has been changed so that it appears as an "Amicus18 Serial Port" (USB\VID_0403&PID_AC75). Once that was done it required the use of a modified INF driver file.

There is (at least was) a utility on the FTDI site called FT_PROG that would let you change the PID back to the standard FTDI PID for the FT232RL, and that would let you use the standard FTDI driver. I don't know if there are any issues with that (like a loader program looking for the old AC75 PID), but hardware-wise that should work fine.

I've only used FT_PROG on win7 so I have no idea if/how it works on win10.

Dave
- 10th April 2017, 14:01
Yes, In fact I recently purchased a few Amicus18 boards for a development program. I switched out the processor for an 18F26K22 and used the FT_PROG program from FTDI to set the PID to a default state. This however can only be done after the board is found and connected by the operating system which requires the Amicus software to be loaded on the computer you are using to do the reprogramming. I then use the PBP3 with the MCSPX boot loader for all program development. Works a treat...

HenrikOlsson
- 10th April 2017, 20:04
Thank you all for your input!
Forcing the standard FTDI USB serial port driver onto the "Amicus serial port" does "work" in that it shows up as a COM-port (instead of under "other devices") in the device manager but obviously the Amicus Loader application isn't looking for a "generic" COM port, it's looking for the "Amicus serial port" - which sucks.

In the Proton forum thread I linked to previously there appears to be a special version of the Amicus loader application (in post #8). I've registred and got my account activated but I'm not allowed to post or download so I can't try it and it doesn't really say what the purpose of that version is.

I guess since Windows now sees the board as a normal COM port using FT_Prog to get rid of the Amicus stuff all together is the best thing to do and the way forward.

Dave, are you using the standard MCSPX bootloader or the "UMC" one. I can't seem to find a prebuilt loader .hex file for either 25K20 or the 25/26K22 and I've never used the UMC one.

/Henrik.

Dave
- 11th April 2017, 13:08
Henrick, I have used the UMC Loader since it came out and have worked with David Barker on a few bug's I found in it. In fact as far as the Boot Loader goes, you have to manipulate some of the registers of the newer 16F & 18F parts before the Boot Loader will work. That is why David has allowed you to generate an .ini file to configure the Boot Load Builder for your particular processor.

HenrikOlsson
- 12th April 2017, 07:02
Thanks Dave,
Guess it's time to figure that UMC loader out, never had the need before.

/Henrik.

HenrikOlsson
- 12th April 2017, 22:48
Dave,
If you don't mind me asking, are you using the UMCBuild application to create your bootloader .hex files or are you building them manually in MPLAB?

I've just read thru the documentation and have attempted to create a .hex file using the UMCBuild application but needless to say I'm struggling. The application says it can't find the MPASM executable, something the docs says it should be able to do if I have a working environment (which I do). I suspect the issue is that it's looking for MPASM.exe while it's now called MPASMX.exe.

I tried adding the path to MPASMX in the [PATH] section of the UMCBuild.ini but I get either Can't find MPASM executable or Can't find MPASM path. I tried making a copy of MPASMX.exe, renaming it to MPASM.exe but still can't make it work.

Would you mind sharing some of your knowledge regarding the UMC?

/Henrik.

tumbleweed
- 13th April 2017, 12:17
Try renaming mpasmx.exe to MPASMWin.exe. That's the name of the old assembler.

HenrikOlsson
- 14th April 2017, 13:45
Well of course it is! Thank you for reminding me!
Making progress but still not all the way. Placing a copy of MPASMX with its name changed to MPASMWIN.exe and adding the following line to the UMCbuild.ini file made THAT error go away

MPASM=C:\Program Files (x86)\Microchip\MPLABX\v3.55\mpasmx

It then complained it couldn't find the MPLAB device path so I added the following:

DB=C:\Program Files (x86)\Microchip\MPLABX\v3.55\mpasmx
(Because, just as with the assembler, that's where all the device specific assembler .inc files are located - which I assumed was what it's looking for...)

But now it says No device file found for "18F452"

Anyone have any ideas?

/Henrik.

Dave
- 14th April 2017, 14:42
Henrick, I have my "Mecanique" directory mounted off my root directory on "C:/" drive. I have never used the "PATH" directives since I have mounted it on my Windows 8 machine about 3 years ago. Even when I had my Windows "XP" machine I had it mounted in the same way. Make sure the device you are trying to program in in the devices.ini file located under "Mecanique/MCSPX/MCLoader/umc/src/18F/". For new devices you will have to make new entries into this .ini file.

richard
- 14th April 2017, 14:47
hi Henrik
I do it this way , it may not be the best way but it works for me

created folded
c:\myBOOTLOADER
made a subdir for each chip i use
c:\myBOOTLOADER\16f1825
c:\myBOOTLOADER\18f25k22
in each folder the modified config.ini file to suit that chip

to compile loader
copy chosen config.ini to c:\myBOOTLOADER
then using dos shell
cd to working dir
CD C:\Program Files\Mecanique\MCSPX\MCLoader\umc\build
run compiler
umcbuild.exe "c:\myBOOTLOADER\config.ini"

output is in c:\myBOOTLOADER\"chosen pic folder"

note
C:\Program Files\Mecanique\MCSPX\MCLoader\umc\src has two sub dirs
16f and 18f , in these are the device.ini files you may need to add your chips to these files if they are not included


16f1825 ini

; optional path information - default output folder is
; user documents -> umcbuild...
[PATH]
Output=C:\MYBOOTLOADER
[TEMPLATE]
;PIC18=..\src\18F\umc_loader.asm
PIC16=..\src\16F\umc_loader.asm
; device name and OSC...
[MCU]
Device=16F1825
OSC=32000000
[USART]
BAUDRATE = 19200 ; initial startup baudrate (default is 19200)
BRGH16 = 1 ; 16 bit SPBRG support (default is OFF)
; device configuration settings...
[CONFIG] ;----- CONFIG1 Options --------------------------------------------------
__config _CONFIG1, _FOSC_INTOSC & _CP_OFF & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON & _CLKOUTEN_OFF
__config _CONFIG2, _PLLEN_OFF & _LVP_OFF
; place startup code in here...
[USERCODE]

movlb 1
BCF TRISC,4
BSF TRISC,5
;movlb 1
movlw 0xF0 ; 32 MHz
movwf OSCCON
btfss OSCSTAT,6
goto $-1






1825k22 ini


; optional path information - default output folder is
; user documents -> umcbuild...
[PATH]
Output=C:\MYBOOTLOADER
; source code files...
[TEMPLATE]
PIC16=..\src\16F\umc_loader.asm
PIC18=..\src\18F\umc_loader.asm
[USART] BAUDRATE=19200 BRGH=1 BRG16=1
; device name and OSC...
[MCU]
Device=18F25K22
OSC=64000000
; device configuration settings...
[CONFIG]
config FOSC = INTIO67
config PLLCFG = OFF
config PRICLKEN = ON ; Primary clock Enabled
config FCMEN = OFF ; Fail-Safe Clock Disabled
config IESO = OFF ; Oscillator Switchover Disabled
config PWRTEN = ON ; Powerup Timer Enabled
config HFOFST = OFF ; HFINTOSC delayed until oscillator stable
config BOREN = ON ; Brown Out Detector Enabled
config BORV = 250 ; VBOR set to 2.50 V nominal
config WDTEN = OFF ; WDT Enabled; SWDTEN bit has no effect
config WDTPS = 512 ; WDT = 1:512 = 2048 ms
config CCP2MX = PORTB3 ; CCP2 i/o is multiplexed with RB3 (not RC1)
config CCP3MX = PORTB5 ; P3A/CCP3 i/o is multiplexed with RB5 (not RC6)
config T3CMX = PORTB5 ; T3CKI is on RB5 (not RC0)
config P2BMX = PORTC0 ; ECCP2 P2B is on RC0 (not RB5)
config PBADEN = OFF ; PORTB<5:0> pins configured as digital i/o (not analog)
config MCLRE = EXTMCLR
config STVREN = ON ; Stack Overflow Reset Enabled
config XINST = OFF ; Extended Instructions Disabled
config LVP = OFF ; Low-Voltage-Programming Disabled
config CP0 = OFF ;Code Protect 00800-03FFF
config CP1 = OFF ;Code Protect 04000-07FFF
config CP2 = OFF ;Code Protect 08000-0BFFF
config CP3 = OFF ;Code Protect 0C000-0FFFF
config CPB = OFF ;Code Protect Boot
config CPD = OFF ;Data EE Read Protect
config WRT0 = OFF ;Table Write Protect 00800-03FFF
config WRT1 = OFF ;Table Write Protect 04000-07FFF
config WRT2 = OFF ;Table Write Protect 08000-0BFFF
config WRT3 = OFF ;Table Write Protect 0C000-0FFFF
config WRTC = OFF ;Config. Write Protect
config WRTB = OFF ;Table Write Protect Boot
config WRTD = OFF ;Data EE Write Protect
config EBTR0 = OFF ;Table Read Protect 00800-03FFF
config EBTR1 = OFF ;Table Read Protect 04000-07FFF
config EBTR2 = OFF ;Table Read Protect 08000-0BFFF
config EBTR3 = OFF ;Table Read Protect 0C000-0FFFF
config EBTRB = OFF ;Table Read Protect Boot
; place startup code in here...
[USERCODE]
movlb 0x0F ; MANDATORY: BSR set to SFR bank
movlw b'00000000'
movwf ANSELC ; MANDATORY: analog off on port C
movlw 0x70
movwf OSCCON
bsf OSCTUNE,6
BTFSS OSCCON2,7
BRA $-2

HenrikOlsson
- 14th April 2017, 15:49
Thanks guys!

Are you both using MPLABX/MPASMX or do you also have an older version of MPLAB installed? I thought I'd try to bloat this new computer down with all sort of software but that seems impossible to avoid. Microsoft won't properly support Win7 on new generation CPU(s), the Amicus loader doesn't work on Win10, the UMC loader doesn't work with MPLABX....it just never ends :-(

I'm trying to build a bootloader .hex for the 18F452 - which is what the default .ini file is configured to do. As far as I can see it's one of the default devices but I may be wrong. I thought I'd get that going first before trying to configure it for other chips.

tumbleweed
- 14th April 2017, 17:14
I've never tried building the bootloader using mplabx, and I only have the UMC stuff from swordfish and proton so take this with a grain of salt...

Some of the [PATH] options in the umc.ini file specify the MPASM and DB paths. You can fool it to use mpasmx.exe as the assembler, but if umcbuild is looking for the old *.dev files from MPLAB you might be SOL trying to use mplabx.

On my system I have

DB=d:\program files\microchip\mplab IDE\device
which is where the old mplab *.dev files were/are located on my setup. MPLABX doesn't have these files anymore, or if it does they're buried deep inside some .jar file that I've never found.

You might just be forced to install MPLAB.

richard
- 15th April 2017, 01:02
Are you both using MPLABX/MPASMX or do you also have an older version of MPLAB installed?

I have mplab and mplabx installed on win10 , its the only way I could make it work

HenrikOlsson
- 18th April 2017, 20:55
Thank you guys,
Installed MPLAB 8.92 and I'm now able to build the default bootloader file for the 18F452 - that's progress. Next I'll look at adding a device of my own.
I wonder if there are any plans to switch the UMC stuff to MPASMX as no new devices (like the 26K40) are available for the old assembler (I think I know the answer to that....)

I guess it should be possible to "manually" build the bootloader files using MPLABX instead of the UMC builder application. But, one step at a time.

/Henrik.

HenrikOlsson
- 26th November 2017, 11:26
Can any kind soul supply me with an UMC compatible bootloader .hex file for the 18F25K20 (standard device on the AMICUS18, running 16x4MHz clock)?
If you happen to have one for the 25K22 (or 26K22) I won't say no that one either.

I WILL learn how to do this myself one day but right now I need (another) shortcut...

TIA
/Henrik.

richard
- 26th November 2017, 12:34
Henrik
here is hex for 25k22 the config is for int osc 64m @19200 baud

its probably best if you specify what config settings you need a the baud rate for each chip

HenrikOlsson
- 27th November 2017, 18:25
Thank you Richard!
I had a couple of things I wanted to try and the bootloader issue stopped me (again) so I ditched the Amicus18 and used my EasyPIC7 instead. I really do need to get the hang of using the UMC loader, it's just one of those "boring" things that takes time away from being productive.

I'll take a close look at the files you provided - now and previously, thanks again!

/Henrik.

lester
- 28th November 2017, 03:20
Taken from the Proton Forum -----
Henrik you did not respond to the registration email sent from the Proton forum, hence your inability to download or post. I could not activate your account manually because I could not locate your chosen user name on the Pron forum

So i've copied the post here, it may help you and others.


Tips for Programming Amicus 18 on Windows 10

Hi All,

I recently wanted to do some work using the Amicus 18, and after a good number of retries and searching through various Forums, I can say I have managed to reliably succeed:-). Whilst I have not had to do anything NOT covered in various posts, I felt it might help someone else migrating to Windows 10, if all the steps I have had to follow are in a single consolidated place, So here goes...

1. Install the latest Proton Basic Compiler Suite found on the Proton Basic Compiler Website - I installed Version 3.6.0.2_1.0.4.4
2. Download and install the most recent "Amicus18_Loader" (attached) and unzip into a known location.
3. As per DaveS' instruction, rename the old "Amicus18_Loader.exe" to "Amicus18_LoaderOLD.exe" and copy the just unpacked new "Amicus18_Loader.exe" into the same location as the OLD version. On my 64bit version of Windows 10 the location is "C:\Program Files (x86)\ProtonIDE\Plugin\Amicus18_Loader\"
4. Connect your Amicus18 board to a USB port - ignore any errors - it won't load correctly - yet:-)
5. Get ready to reboot your Windows 10 system - ie. close all running programs - We need to Disable Unsigned Driver Checking...
If you have previously done this, do it again:-) It seems some Windows updates possibly reinstate signed driver checking, so it doesn't harm to simply do it again.
6. Right Click on the Windows "Start" icon and select "Settings"
7. Click on "Update and Security"
8. Select "Recovery", and then click on "Restart Now" under "Advanced Startup"
9. The system will start the restart process by presenting a Blue screen with three options - "Continue to Windows 10", "Troubleshoot" or "Turn Off Computer"
10. Click on "Troubleshoot", then "Advanced", then "StartUp Settings", then "Restart" .The system will reboot and present you with a second Blue screen this time with a list of options. Select Option 7 with the Keyboard to disable Unsigned Driver Checking.
11. The system will proceed with the familiar reboot "Windows".
12. Once rebooted there are still a few steps to complete - the first is to install the correct drivers for the FTDI chip.
13. Locate the directory "C:\Program Files (x86)\ProtonIDE\Amicus18 USB Driver\" and find two files - "ftdiport.inf" and "ftdibus.inf".
14. In turn right click on each of the driver files and select "Install". After each selection you should be presented with a "warning" about unsigned driver installation - select the second option to install.
15. After both have been installed, it's a good idea to right click on the "Start" icon and select "Device Manager". You should now see "Amicus18 Serial Port (COMx)" under "Ports", with NO error indications. Right click on it and select "Properties" - it should show that the device is working properly:-)
16. The final step is to Start the Proton Compiler, and select "View" from the top toolbar.
17. Select "Compile and Program Options" and then select "Programmer"
18. In the "Default Programmer" drop down, ensure "Amicus18 Loader" is selected
19. Click "OK" and you should be good to go:-)

Hope this helps someone:-)


Norm

8515

HenrikOlsson
- 29th November 2017, 20:10
Thank you Lester!
I don't know why I missed responding to the registration email or if it ended up somewhere it shouldn't at my end.

Anyway, I just did what Norm described and it seems to have worked perfectly. I now have a working AMICUS18 setup that can be bootloaded directly from within MicrocodeStudio. I have no shortage of development boards (mostly MikroE stuff) and they're all great but none are as fast and "transparent" to use as the AMICUS18 setup. Small programs compiles and downloads in a second while with the other "systems" I have to jump between application, reload .hex file, click buttons, (since MikroE's bootloaders doesn't provide a command line interface), press buttons on the board (to get into bootload mode) or use the PICKit3 which, for small programs, is MUCH slower than bootloading.

So, thank you Lester for posting the information and special .exe (and for the AMICUS platform) and thank you Norm for providing such detailed instructions on how to get it going on W10! Much appreciated!

/Henrik.