Original Question: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
The source codes for the ADF4350 and ADF4351 evaluation board control software and the evaluation board USB microcontroller firmware are attached below.
Warning: You use this at your own risk and it is not officially supported by Analog Devices.
- adf4xxx_usb_fw_1_0 is the USB microcontroller firmware source code.The code is written in C and the project opens in Keil uVision.
- ADF435x_Source_Code_vx_x_x is the ADF4350 and ADF4351 evaluation board control software source code. The code is written in C# and the project opens in Microsoft Visual Studio. You can get a free version of Microsoft Visual C# 2010 Express here: http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express
Post any questions below.
Compiled, release download here: https://ez.analog.com/message/38857
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by tzvikf
Hi
Where can I find source code for evaluation SW GUI for testing and downloading data from the BF548 eval bulk usb demo?
Thanks
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
You should post your question on the Blackfin Processors forum: http://ez.analog.com/community/dsp/blackfin-processors
When you figure out the eval bulk USB demo, you can use the above source code to generate the register values.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by tzvikf
Thanks. I have posted it as you suggested.
in the adf4350 sw I get the message : No USB adapter board attached. Try unplugging and re-plugging the USB cable. when I try to conect to the BF548 target.
In the device manager I can see the Blackfin BF548 USB device connected.
any advise why?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Try this:
On the Select Device... tab of the software, choose SDP board (black) and then click Connect.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by tzvikf
I have tried that as well and got SDP connection failed.
Any idea why?
Thanks
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
The software only supports the devices shown in the images in the software: EVAL-ADF4xxx-USB adapter board, SDP-B and SDP-S boards.
You will have to write custom software to support any other devices.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by tzvikf
Thanks
Where should I change and what in order to support the BF548 evaluation board?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
I'm not familiar with the BF548 evaluation board. You will need to talk to someone of the Blackfin Processors forum (see above).
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by KE5FX
Just a quick note to say 'thanks' for posting the C# source. It's appreciated. I need to write a console app to talk to the ADF4351 demo board, and I thought I was going to have to spend the whole weekend staring at a lot of undocumented USB packets.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by tzvikf
Hi
I have already posted there but still waiting for a solution that will save me development time in developing an app to control my BF547 based board.
Is the ADF435x_Source_Code_v4_2 communicate via USB bulk driver?
Is it capable to download data from the ADF435x memory.
Where is it connected in the code to the USB device?
THanks
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Sorry, the BF547 is not supported by the ADF435x evaluation software.
The code for connecting to the supported devices is in the Device Connections region of the Main_Form.cs code.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by zy26
Hi Rbrennan,
We are trying to control the ADF4351 evaluation board through the Matlab, do you already have any solution for that?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Replied here: https://ez.analog.com/thread/43900
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by Tom_Spargo
Hello:
Do you have source code in C, C++, or Python? If not, perhaps the Visual Basic? I need to control an ADF4350 and ADF4108. If you have source code for just programming the registers over USB that would be great; I really don't need the GUI stuff.
Thanks!
Tom Spargo
New ADI employee!
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
I don't have any C, C++, or Python sorry. I do have a command line tool for writing the register values to the ADF4350/ADF4351/ADF4108/any board that uses the Cypress USB controller.
You could call the command line program from your code and just pass the register value as a variable.
See here: https://ez.analog.com/message/116111#116111
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
I've got an ADF4351
The hex file provided doesn't match the device id in the C# code.
From the C# file "Main_Form.cs":
int PID = 0xB40D; -> this is what shows up on the USB for ADF4351
int PID2 = 0xB403;
connectedDevice = usbDevices[0x0456, PID] as CyFX2Device;
if (connectedDevice != null)
FirmwareLoaded = connectedDevice.LoadExternalRam(Application.StartupPath + "\\adf4xxx_usb_fw_2_0.hex");
else
{
connectedDevice = usbDevices[0x0456, PID2] as CyFX2Device;
if (connectedDevice != null)
FirmwareLoaded = connectedDevice.LoadExternalRam(Application.StartupPath + "\\adf4xxx_usb_fw_1_0.hex");
}
PID points to fw_2_0.hex
Supplied .hex is for fw_1_0
Could you provide the hex file for the adf4xxx_usb_fw_2_0.hex device?
thanks muchly!
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Attached.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
I was looking for a linux driver for the ADF435x and found it here:
https://wiki.analog.com/resources/tools-software/linux-drivers/iio-pll/adf4350
However, the file adf4350.h is missing. Can you help?
I also posted this question/comment to this AD website:
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
They should be able to help on the Linux Software Drivers community. I don't have that file.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
The file was found and replaced. However, it appears the linux driver doesn't initialize the firmware.
Assuming you all work for the same corporation, perhaps the two communities (linux and windows) should get together and talk. Just a suggestion :-)
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
New question...
Is it possible to get the source for CYusb? Here's the reason.
Your MSWindows implementation is far ahead of your Linux implementation, but your CYusb library appears to not have the same API names as the Cypress cyusb and usblib libraries.
I would like to reverse engineer the calls to make it work.
In particular, I am trying to figure out what "connectedDevice.ControlEndPt.XferData" in the console writer program you posted corresponds to what in the cyusb or libusb library call.
My employer is planning to purchase at least 100 ADF4351's for a project funded by the NSF (and possibly the US Airforce -> another 400+ or so units) to revolutionize radio astronomy, but we (MIT) may not purchase your parts if I cannot get the software to work.
Any assistance?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
CyUSB source code free download here: https://ez.analog.com/message/52311
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
I already looked there. The files appear to not include the source to CYusb, which seems to be provided only as a dll.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
I see in another thread appears to have offered up the CYusb source, though it also appears he did it privately.
Re: AD5370 Eval - Software Development API - CYPRESS USB (EZUSB CYUSB)
bob s.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
I see, I don't have that source code. Looks like Ken is out of office until January 5th (Analog Devices shuts down for the holidays).
What is your deadline?
The CyUSB.dll I use in my projects is an unmodified version from Cypress. If I understand correctly, you are trying to mimic, in Linux, the way the Windows software calls the CyUSB functions? What happens when you call connectedDevice.ControlEndPt.XferData? Do you have the various ControlEndPt variables initialized before you call it?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
My reply to your email bounced.
I was able to figure out how to load the firmware, basically
I opened the device using libusb, searched thru the devices, identified the AD card (we are using two per embedded box) then passed in the
open handle into a modified Cypress’ C program, provided as part of the source files of cyusb, and pointed to AD’s hex file.
The Cypress routine returned without errors (though I’ve no clue if it did anything useful, it was encouraging).
However, for the next step, to read and write the registers, there is no equivalent Linux call for XferData that I could find either
in the libusb.h file or cyusb.h. I need a mapping from CYusb.h to cyusb.h or libusb.h.
When I have the equivalent call (by looking at the source for CYusb), I’ll just use the variables from your Main_Form.cs file.
Let’s continue this discussion in the new year.
Happy Holidays!
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi rbrennan,
happy new year!
is kenk back from the holidays?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
He replies to your other post.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Can you post a screenshot of what you see in Device Manager? The Analog Devices boards have a certain identifying VID and PID which the drivers look for.
In Device Manager, right click on the target device, click Properties, Details, and get a screenshot of Hardware Ids.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
I detect two analog devices parts at 0456:b40d, and disambiguate by identifying the "ports" using usblib
I'll upload my test software.
I have the source to "cy"usb from Cypress but I am looking for the source to "CY"usb from you.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
Just emailed you.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by schaeferzero
Hi,
I haven't received an email from you (as identified after your last post). We've got a firewall, if there is an attachment the firewall will block the email unless the attachment is password protected. And on top of that, any email from a "new" address is held (somewhere, for some amount of time) before being forwarded to me. If I don't see anything from you (and not from analog@analog-vm.hosted.jivesoftware.com which I cannot reply to) in a day, I will reply to that effect. Got to love the Internet in the time of ...).
bob s.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
I modified the attachment and tried again.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by LEE.Y
Hi,rbrennan.I do not know what a USB chip is suitable for the "adf4xxx_usb_fw_1_0 is the USB microcontroller firmware source code".
Could you tell me the USB chip models?
Is the USB chip named "CY7C68013 "suitable for the "adf4xxx_usb_fw_1_0"?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by ADIApproved
adf4xxx_usb_fw_1_0 was written for CY7C68013, however, you should write your own firmware as we no longer support the CY7C68013 and there is no guarantee adf4xxx_usb_fw_1_0 will work in your system.
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by jluu
Hi Robert,
Thanks for the source code, this allowed me to make an extension for a cheap board containing 2 ADF4351, I also wrote an alternate firmware for this board to be able to communicate.

May I post the whole source code on github ?
Less than a hundred lines were added to Main_Form.cs
Regards
Jose
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by j.y.z
Hi,
I just want to know where i could get the adf4xxx_usb_fw_2_0 source code ,the top attachments.zip is adf4xxx_usb_fw_1_0 project ,not the adf4xxx_usb_fw_2_0 .
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by berkinkartal
Hi Robert,
I looks like the development board I have boots up from adf4xxx_usb_fw_2_0.hex and I'd like to modify the firmware to save configuration register values on the eeprom. But I noticed that you haven't shared the source code for adf4xxx_usb_fw_2_0. Is it possible to share it?
thank you!
Berkin
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by GeorgeMichael
Can anyone help with the eeprom programming? is that eeprom file for the evaluation board usb controller anywhere to be found?
Question: RE: ADF4350 and ADF4351 software and USB microcontroller firmware source codes by jluu
Extended code is here:

