Have you built hex2ioio?
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/uNiNFdHfyaIJ.
To post to this group, send email to ioio-...@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ioio-users?hl=en.
Oh, do you have both images built? Are they in the right path?
Can you make sure the hex files are where the script wants them?
You may want to try to run individual commands of the script manually, so you see where it gets stuck.
Yes, for both configuration, I had the hex2ioio.exe created in the same folder than the hex2ioio and the Makefile.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/wZzdxJqMoHoJ.
You should give the path to firmware;app_layer_v1/dist instead.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/p4xOb1vutv8J.
/ instead of ; of course ...
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/TXm7J3ofAawJ.
To unsubscribe from this group, send email to ioio-users+unsubscribe@googlegroups.com.
To unsubscribe from this group, send email to ioio-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/gt4prpVuE7UJ.
To unsubscribe from this group, send email to ioio-users+...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/8qCLM4VuBG0J.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/llCEDOADSA4J.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/YTz1gYCsfasJ.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/u0FOn6A8JjkJ.
Please join ioio-dev and search there.
Hi i'am khoon bootrachI try build bootloadererrorc:\program files\microchip\mplab c30\bin\bin\..\bin/pic30-coff-ld.exe: cannot find -ladbmake[2]: Leaving directory `C:/ytaiioio/firmware/bootloader'make[1]: Leaving directory `C:/ytaiioio/firmware/bootloader'
make[2]: *** [dist/SPRK0016/production/bootloader.production.hex] Error 255make[1]: *** [.build-conf] Error 2make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 5s)thank you
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/SMXp74BLjckJ.
I probably mistakenly pushed it to git... Just change it back to make in the script.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To view this discussion on the web visit https://groups.google.com/d/msg/ioio-users/-/_JeAMvDAxEkJ.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/groups/opt_out.
--
Yes
Hi,
--
Hi Ytai,
got one step further, so the program now runs. The checkout from the App-IOIO0400 tag gave me the same problem, but checking out from trunk after your 1273 commit,
I got the bootloader working with the original app from the board. By examining the difference between the working and non-working hexfiles, I found that programming address 54E20 with the value 3C instead of unprogrammed, got everything working, haven't checked yet what it is, maybe USB clock calibration value.
But I have one big issue left, I am not able to debug using the Pickit 3. I can use it for small programs like the blinker, but if I try starting the bootloader, it fails during the chip programming (I know the trick, and have to use it, moving the highlight from the Pickit 3 serial number to the Pickit3 in the project properties !!!). If I use the 3 "Descrete Debugger Operation" steps instead of just "debug project", all three are successful, but there is no symbolic info/linenumbers loaded. Single stepping goes from address 0->2->0->2 endlessly. Clicking the "set PC at cursor" does not change the PC.I suspect it has something to do with the protection mechanism you have made for avoiding overwriting the bootloader via IOIODude/IOIOManager.So if you have any advice or hints to get debugging functioning, it will be greatly appreciated. I will probably end up having only the app, not the bootloader in the final program, but I am not that far yet.
This number doesn't tell me anything. I'm using Git. You should too :) (not really, but hey...)
It is very likely that that's what it is. The strange thing is that it should have given you the fast-blink, reminding you to connect the IOIO to a host initially for this procedure.
Yes, debugging is possible (although in many cases not very useful). You should disable code protection in the bootloader (change WPDIS_WPEN to WPDIS_WPDIS in device_bootloader/main.c). Then, add the device bootloader project as a "Loadable" in the app_layer_v1 project. When you compile the app, it will merge the bootloader hex with the app hex and load the symbols from both when debugging.
Also had to change ICS_PGx2 into ICS_PGx1, to match the hardware, so now it works :-)
Glad to hear!Re logging: you gave me an idea - the logging can be presented to the Android as a fake UART when enabled - instead of wasting two UART peripherals, this will use 0.
Re clock calibration: well, you need some process to do that. Hard-coding one value might be OK during development but will not give you good precision if you're trying to run this same firmware on a different board. Of course, you can either add an a crystal to the board, or otherwise come up with a different calibration process (all that you need really is an external clock provided for a short period during initial setup).
Second thought on the timestamping. This is probably quite OK to add on the Android side, will probably have sufficient resolution for most purposes. There will be some jitter of course, but for logging purposes this is probably not a big issue.
Second thought on the timestamping. This is probably quite OK to add on the Android side, will probably have sufficient resolution for most purposes. There will be some jitter of course, but for logging purposes this is probably not a big issue.
--
--
This batch file that it cannot find is somewhere in the MPLABX install directory. It is possible that your MPLAB version is older than when this feature was introduced so try upgrading.
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To post to this group, send email to ioio-...@googlegroups.com.
Visit this group at http://groups.google.com/group/ioio-users.
For more options, visit https://groups.google.com/d/optout.
Make sure the directory where the batch file lives is in your PATH.
I installed the most recent version and uninstalled the older one. The prjMakefilesGenerator.bat file is in the MPLABX directory, but it still gives me the same error.
Any idea where it comes from?
--
Make sure the directory where the batch file lives is in your PATH.
--
Yes. MPLABX comes with its own make.exe. Make sure it is in your path before the GNU make. I haven't actually looked into the root cause of the problem.
First, a disclaimer: this is not intended for most users! This is only for people that want to change the standard behavior of IOIO and come up with custom firmware.A few people have asked on this topic lately, thought I'll make it clearer.First, get MPLAB X (Beta 7.12) and C30 compiler (V3.30c).Open the following projects in MPLAB:
- All the library projects, under firmware/lib*
- firmware/app_layer_v1
- firmware/bootloader if you also want to build the bootloader
MPLAB will complain about not having selected a toolchain. Go to each project properties on every configuration (sucks, I know...) and select your C30 V3.30c installation.At this point, MPLAB generated a set of makefiles that you can use in command line.To build everything from command line, runtools/make-all allTo clean-build, runtools/make-all clobber allIf you don't care about any of the targets, get rid of them. Simply edit tools/make-all, it is pretty straightforward.Note that the makefiles don't have an explicit dependency between the app and the libraries, so if you change any library you need to explicitly clean-build the app. If anyone knows how to declare the app project so that it'll depend on the library let me know please.If you want to build from within MPLAB, you have two problems:
- Because MPLAB doesn't know that app depends on the libraries, you need to manually build the libraries before building the app. All the errors in the style of "ld.exe: cannot find -lconn" or -lusb or -ladb or -lbtstack are a result of the same thing: the linker looks for a libraries that do not exist, because you haven't built them yet.
- The app builds OK (I hope), but then MPLAB tries to load it and hangs while doing so. It is a bug confirmed by Microchip which is supposed to be fixed on the next MPLAB release. Note that this is specific to building coff files, so one might think that moving to elf will fix it. Alas, there is a different bug in the C30 compiler, which is specific to elf, and will prevent the code from compiling [sigh]
Once everything is built, a few tools worth knowing:If you built for the application and the bootloader and want to merge them into a single hex file, tools/merge-hex is your friend. Example usage:tools/merge-hex path/to/bootloader.hex path/to/app.hex > path/to/merged/output.hexIf you want to use IOIO Manager to install your app, tools/make-ioio-bundle is your friend. Example usage:
tools/make-ioio-bundle firmware/app_layer_v1/dist MyOutputBundle.ioioapp IOIO0022 IOIO0023
will build app_layer_v1 (the standard app) for platforms IOIO0022 and IOIO0023 (which are V1.5 and V1.6 boards, running Bootloader V3.x) and package them in a file called MyOutputBundle.ioioappYou can do the exact same with bootloader images, simply name the output file .ioioimg
Note that you'll have to build the hex2ioio tool before anything works, by running:make -C tools/hex2ioioTo those of you using Windows, get Cygwin and install make and gcc (and a bunch of other stuff to make you regret that you haven't been using Linux in the first place :D ).
--
Visit this group at https://groups.google.com/group/ioio-users.
Hi Ytai,
./ioiodude --port=/dev/tty.usbmodem1421 --reset write droidtagv1.ioioapp
Protocol error:
Unexpected response.
Does it work with the stock firmware bundles? If so, probably something about your custom bundle being corrupted.
--
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+unsubscribe@googlegroups.com.
Error:
===========================================
libusb
===========================================
./make-all: line 17: prjMakefilesGenerator.sh: command not found
WARNING: failed to regenerate Makefiles.
make: *** firmware/libusb: No such file or directory. Stop.
FAILURE
- /opt/microchip/mplabx/v3.51/mplab_ide/bin/prjMakefilesGenerator.sh ../firmware/libusb
- ERROR: Has EDS, but no <edc:ExtendedDataSpace>
CLEAN SUCCESSFUL (total time: 54ms)
make -f nbproject/Makefile-IOIO0030.mk SUBPROJECTS= .build-conf
make[1]: Entering directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'
make -f nbproject/Makefile-IOIO0030.mk dist/IOIO0030/production/app_layer_v1.production.hex
make[2]: Entering directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" digital.c -o build/IOIO0030/production/digital.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/digital.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" ../common/logging.c -o build/IOIO0030/production/_ext/1270477542/logging.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/_ext/1270477542/logging.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" ../common/byte_queue.c -o build/IOIO0030/production/_ext/1270477542/byte_queue.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/_ext/1270477542/byte_queue.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" features.c -o build/IOIO0030/production/features.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/features.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" i2c.c -o build/IOIO0030/production/i2c.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/i2c.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" icsp.c -o build/IOIO0030/production/icsp.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/icsp.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" ../microchip/common/uart2.c -o build/IOIO0030/production/_ext/1537399865/uart2.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/_ext/1537399865/uart2.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
"/opt/microchip/xc16/v1.30/bin/xc16-gcc" adc.c -o build/IOIO0030/production/adc.o -c -mcpu=24FJ256GB206 -MMD -MF "build/IOIO0030/production/adc.o.d" -mno-eds-warn -g -omf=elf -DXPRJ_IOIO0030=IOIO0030 -no-legacy-libc -fno-short-double -O3 -I"." -I".." -I"../microchip/include" -I"../common" -DPLATFORM=1030 -DNDEBUG -msmart-io=1 -Wall -msfr-warn=off -std=gnu99
../common/logging.c:33:17: fatal error: PPS.h: No such file or directory
compilation terminated.
make[2]: *** [build/IOIO0030/production/_ext/1270477542/logging.o] Error 255
make[2]: *** Waiting for unfinished jobs....
nbproject/Makefile-IOIO0030.mk:219: recipe for target 'build/IOIO0030/production/_ext/1270477542/logging.o' failed
../common/byte_queue.c: In function 'ByteQueuePullToBuffer':
../common/byte_queue.c:65:23: warning: 'data2' may be used uninitialized in this function
adc.c: In function '_CRCInterrupt':
adc.c:181:7: warning: 'group_header_pos' may be used uninitialized in this function
make[2]: Leaving directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'
nbproject/Makefile-IOIO0030.mk:84: recipe for target '.build-conf' failed
make[1]: Leaving directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
BUILD FAILED (exit value 2, total time: 1s)
I found out that the PPS.h file is in peripheral library. I downloaded peripheral library for PPS.h header file but compiler still gives the same error. So is my environment incorrect ? or i have not installed “peripheral library” correctly? Os its it some other error? Any pointers will be helpful.
/opt/microchip/xc16/v1.30/bin/bin/../bin/elf-ld: Warning: linker script did not specify CRT_STARTMODE file, default: crt_start_mode_normaldummy.gld.01:1203: undefined symbol `__reset' referenced in expressionmake[2]: *** [dist/IOIO0030/production/app_layer_v1.production.hex] Error 255
make[1]: *** [.build-conf] Error 2make: *** [.build-impl] Error 2
nbproject/Makefile-IOIO0030.mk:395: recipe for target 'dist/IOIO0030/production/app_layer_v1.production.hex' failedmake[2]: Leaving directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'nbproject/Makefile-IOIO0030.mk:84: recipe for target '.build-conf' failedmake[1]: Leaving directory '/home/user/Desktop/park_git/ioio/firmware/app_layer_v1'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
This is not an inductor but a ferrite bead.Please build with XC16 using a clean clone. I don't want to waste time troubleshooting a non-standard environment.
On Sat, Jan 21, 2017 at 6:03 AM, <kri...@parkzap.com> wrote:
I'm asking this question because I'm in doubt that is this really a Inductor ?if yes then can you please explain me why are you using this because in controller's datasheet there is no explanation of Indutor use.and what's the exact value (given value in schematic is 300hm, 1.8A)
On Saturday, January 21, 2017 at 4:46:59 PM UTC+5:30, kri...@parkzap.com wrote:hello ytai,can you tell me exact value of Inductor, connected with controller's avdd pin(19).thanks
--
You received this message because you are subscribed to the Google Groups "ioio-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to ioio-users+unsubscribe@googlegroups.com.