If you follow the link / instructions from the example directory I mentioned earlier... https://github.com/free-pdk/easy-pdk-programmer-software/tree/master/Examples/src
you will find a download link for current SDCC snapshots (nightly builds) for several platforms: http://sdcc.sourceforge.net/snap.php
I just checked again and 13 bit support is included.
Okay, I did what you said, but I still did not get it completly (sorry for that). I downloaded and installed the sdcc exe. During the installation prozess the applied libs are viewed. So I downloaded additionally the .zip file and unzipped it. In this unziped directory I found in the lib folder the pdk13 folder and copied it into the lib folder of the installed exe.
Now I tried compieling the code examples. At first helloword example from the software branch and later the examples from the sdcc example branch. Non of them worked. In the helloworld from the software branch I later defined additionally the the used uC. At first I tried compiling withe the "make" command in diffent variations like explained in the software/examples/src branch but I did not get a response at all. Next I tried compiling with "sdcc helloworld.c" . With this it started compiling but I got warning 182 for the "pfs154.h" "absolute address for sfr '...' probably out of range". Futhermore I got errors for helloworld.asm. Ten times I got ".org in REL area or directive / mnemonic error" and at last "missing or improper operator, terminators, or delimiters". After that helloworld.rel was removed. (I added a screenshot of the cmd window)
It would be great if you can tell me what I am doing wrong all the time and thank you very much for your comments in the past.
Hi. I just had a look at the schematic.
Why is the supply switched to the boost converter, rather than using the 'Enable' pin of the converter? The extra 4u7 on the +5V rail is within USB spec's <10uF total rail capacitance.
Why is the negative charge pump required for the opamp? The AS358 input and output ranges include 0V. Was it added because the AS358 sink current drops off below 1V? I get the feeling that it shouldn't be an issue.
It's for protection. The enable signal of the boost converter does not enable / disable the output. It is enabling / disabling the boost. So at startup, even without the enable signal present, you get +5V out of it.
The output of the boost converter directly feeds the opamp.
But at startup DAC output of the STM32 and the negative voltage reference of the opamp is undefined which would let the output of the boost converter slip through to the pins of a potential connected target IC.
To save cost. I wanted to use a cheap opamp (rail to rail opamps are much more expensive) and we really need 0V. With a non rail to rail opamp like the AS358 it is impossible to get 0V output with a 0V negative reference.
Thanks for the reply.It's for protection. The enable signal of the boost converter does not enable / disable the output. It is enabling / disabling the boost. So at startup, even without the enable signal present, you get +5V out of it.
The output of the boost converter directly feeds the opamp.
But at startup DAC output of the STM32 and the negative voltage reference of the opamp is undefined which would let the output of the boost converter slip through to the pins of a potential connected target IC.The DAC pins are pulled low through 240k resistors, so on startup, the voltage is 0V. If the charge pump was removed, the negative voltage would always be stable.
To save cost. I wanted to use a cheap opamp (rail to rail opamps are much more expensive) and we really need 0V. With a non rail to rail opamp like the AS358 it is impossible to get 0V output with a 0V negative reference.The AS358 has an output range of 0V to 13.5V, with a 15V supply voltage. The input voltage range also includes 0V. The only thing to note with the output voltage under 1V is that the current that the output can sink reduces rapidly.
I think you could remove 10 components and have it still function happily.
Cheers,
It would be great if you can tell me what I am doing wrong all the time and thank you very much for your comments in the past.
If I rememebr correctly I was never able to get 0V from opamp output with VIN- tied to GND. Have you tested / measured the result with AS358 and VIN- 0V?
If I rememebr correctly I was never able to get 0V from opamp output with VIN- tied to GND. Have you tested / measured the result with AS358 and VIN- 0V?I just connected an LM358 as a unity-gain buffer, on a 12V supply, which gave ~6mV output for 0V input, and 10.76V for 12V input.
The TI LM358 and the DI AS358 datasheets have the same simplified schematics (transistors and current sources), and I suspect that they're effectively the same device.
Cheers,
The firmware to stm32 flashed correctly. I have a few PMS150c 8 pins I can use and have it connected. When i use easypdkprog I get the message "No programmer found".
What I'd like to know is, is there any component I may have botched? When do the LEDs light up? Are there testpoints I can check for certain voltages to know if i damaged something? I did handsolder and the stm32 suffered the most with my "skills" but it seems to be ok.
shucks i actually see that dfu error only now
Is there any reverse engineering regarding the ICE (In-Circuit-Emulator) going on (didn't read the whole 32 pages)?
I got my ICE today as well. Here is a high resolution image:
The FPGA has no markings. It might be possible to capture the JTAG init sequence, if it doesn't store the configuration data inside the FPGA, because looks like there is no external configuration flash memory.
The USB device is a CY7C68013A, with high speed USB (480 Mbps) and an integrated 8051 CPU, that can be booted through USB (there is an interesting project, which implements a communication through such a Cypress chip to a FPGA over USB, FPGALink). So this could be a very flexible construction, booting first the firmware of the 8051, then booting the FPGA bitstream, all over USB. But I think it might be easier to develop a new emulator than trying to reverse engineer this. Would be nearly impossible to decode the FPGA bitstream back to the HDL code.
"usb-devices" shows the same as js_12345678_55AA wrote:Code: [Select]T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=03 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0797 ProdID=7002 Rev=80.01
S: Manufacturer=PADAUK
S: Product=LGS_DEV FX2-HID 0.01
C: #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=03(HID ) Sub=00 Prot=00 Driver=usbhid
# SDCC=../../sdcc/bin/sdcc
# Add enviroment path for SDCC to windows path
SDCC = sdcc.exe
OUTDIR=build
all: PFS173
PFS173:
mkdir -p $(OUTDIR)
$(SDCC) -DPFS173 -mpdk15 -o $(OUTDIR)/main.ihx main.c
clean:
rm -rf $(OUTDIR)
# Place easypdkprog.exe file inside the source folder of your .c file
prog:
easypdkprog write build\main.ihx -nPFS173
start:
@echo "Starting the Device"
easypdkprog start --runvdd=4.0
run: PFS173 prog start
.PHONY: all clean
JS I'm playing with your serialecho example, and modified it! I think the getchar is not working
Also Do you have some ADC examples?