| Action: xiangfu have installed the Xilinx 13.1 | 03:03 | |
| Action: xiangfu building the bitstream. seems it need some time still building | 03:04 | |
| xiangfu | kristianpaul: Hi | 03:04 |
|---|---|---|
| xiangfu | from the email we need edit one line to disable the Video out. for fix the sound noise. can someone tell me which file which line I should edit. then I can build the bitstream and test in my MM1. | 03:18 |
| xiangfu | I have 0 experiment in VHDL :( | 03:18 |
| aw | xiangfu, when i selected 'Webpack' items , it seems will install: Webpack, ISE, ISE DS Common, EDK, Plan Ahead Analysis Tool. | 06:32 |
| xiangfu | aw: I just select the 'ISE Design Suite: system edition' | 06:34 |
| xiangfu | from the description: " ISE Design Suite: System Edition contains everything you need to do a complete system design." :) | 06:35 |
| xiangfu | '''contains everything'''. I don't know the detail. so just just select all | 06:36 |
| aw | finally it asked you for a license? | 06:43 |
| aw | xiangfu, 12.3 i installed 'Webpack' only. I remembered it needs a license. | 06:44 |
| xiangfu | it's will bring you to xilinx website. then you can got a license file | 06:46 |
| aw | xiangfu, yup | 06:49 |
| aw | xiangfu, yes, now the installer is asking me for license, so you stopped there? right? | 07:22 |
| aw | xiangfu, i think that I am now searching my 12.3 Free ISE Webpack license first. :-) | 07:23 |
| xiangfu | aw: no. I have success install. just follow the link. download the xilinx.lic file :) | 07:23 |
| aw | xiangfu, 13.1 detects my previous *.lic during last installed 12.3 | 07:37 |
| aw | seems done successfully. | 07:38 |
| lekernel | hi | 08:14 |
| wolfspraul | hi | 08:20 |
| aw | lekernel, xiangfu hi, i think that we are ready for studying now. :-) | 08:29 |
| lekernel | ok, so you have the milkymist source and ise 13 installed? | 08:30 |
| lekernel | and sourced ise's settings32.sh? | 08:30 |
| aw | not yet..second | 08:31 |
| xiangfu | lekernel: I am using a 64bit system? I sourced settings32.sh? is that a problem? | 08:32 |
| lekernel | I don't know | 08:32 |
| xiangfu | I thought it's for host system. | 08:32 |
| lekernel | if it doesn't work try with settings64 | 08:33 |
| aw | what I need to install for 'source'? i got 'sudo: source: command not found' | 08:34 |
| xiangfu | I have no problem with settings64. so I will just using settings64. | 08:34 |
| lekernel | aw: why sudo? | 08:34 |
| aw | don't know, i usually used 'sudo'.. | 08:35 |
| lekernel | don't | 08:35 |
| lekernel | aw: is it ok? you have commands like impact, xst, ...? | 08:37 |
| aw | lekernel, i can run 13.1 impact, 'xst' don't know, never run before. | 08:38 |
| lekernel | ok, good | 08:39 |
| lekernel | so now go to the milkymist source | 08:40 |
| lekernel | and edit boards/milkymist-one/rtl/system.v | 08:40 |
| aw | second | 08:40 |
| aw | adam@adam-laptop:/opt/Xilinx/13.1/ISE_DS$ source settings32.sh | 08:44 |
| aw | /bin/ls: cannot access XIL_SCRIPT_LOC=/opt/Xilinx/13.1/ISE_DS: No such file or directory | 08:44 |
| aw | is that ok? i don't know | 08:45 |
| lekernel | do you have the impact command? | 08:45 |
| lekernel | and xst? | 08:45 |
| aw | yes, but i could only run './impact' or '/xst' under adam@adam-laptop:/opt/Xilinx/13.1/ISE_DS/ISE/bin/lin$ | 08:48 |
| aw | then i have them. | 08:48 |
| aw | ./xst | 08:48 |
| lekernel | ok, use export PATH=$PATH:/opt/Xilinx/13.1/ISE_DS/ISE/bin/lin | 08:49 |
| lekernel | now go to milkymist source boards/milkymist-one/synthesis | 08:49 |
| lekernel | and use make -f Makefile.xst | 08:49 |
| lekernel | never mind the xilinx error messages, this software is full of crap, so just fix the ones that block you | 08:50 |
| aw | cd build && xst -ifn ../system.xst | 08:54 |
| aw | /bin/sh: xst: not found | 08:54 |
| aw | make: *** [build/system.ngc] Error 127 | 08:54 |
| aw | so never mind, right? | 08:54 |
| lekernel | not that one | 08:55 |
| lekernel | did you run | 08:55 |
| lekernel | export PATH=$PATH:/opt/Xilinx/13.1/ISE_DS/ISE/bin/lin | 08:55 |
| lekernel | which was supposed to fix that? | 08:55 |
| aw | http://pastebin.com/HBi2dagt | 08:56 |
| lekernel | export PATH=$PATH:/opt/Xilinx/13.1/ISE_DS/ISE/bin/lin | 08:57 |
| lekernel | does it work now? | 08:59 |
| aw | running..now .:-) | 09:00 |
| lekernel | ok, good | 09:00 |
| lekernel | once it has finished, you should have a file build/system.bit | 09:01 |
| lekernel | verify that you can load it with urjtag. loading it should make your board boot (it's the soc design) | 09:01 |
| aw | phel,, xiangfu, the PATH is only worked well as the folder I faced Xiangfu told me. man. :( | 09:01 |
| lekernel | (use pld load) | 09:02 |
| aw | okay. got it | 09:02 |
| aw | after building, i used 'pld load' to flash 'SoC' bit stream. is the work now, right? | 09:04 |
| aw | so later you will teach us to modify 'pull down', right? | 09:05 |
| lekernel | do not flash, load | 09:05 |
| aw | okay..'load' | 09:05 |
| lekernel | just "pld load" does not modify the flash | 09:05 |
| aw | so this 'pld load' is to 'load' system.bit into fpga, exactly right? | 09:07 |
| lekernel | yes | 09:08 |
| aw | oah! thanks correcting me the words differently. ;-) | 09:09 |
| xiangfu | after run that. there are a lot of "Minimac RX FIFO overflow!" come out in serial console. | 09:28 |
| xiangfu | wait. I reboot the mm1. and pld load system.bit again. the mm1 can boot to flickernoise. | 09:30 |
| aw | mine is creating bit map. | 09:30 |
| xiangfu | lekernel, aw: http://pastebin.com/A69460Kt | 09:31 |
| lekernel | and did the board boot? | 09:32 |
| lekernel | sounds good... | 09:32 |
| xiangfu | lekernel:yes. boot fine. | 09:32 |
| lekernel | ok, now open boards/milkymist-one/rtl/system.v | 09:34 |
| lekernel | and as you can see you have a line "module system(" followed by the list of all signals going in and out of the fpga | 09:35 |
| lekernel | this is the top level verilog file | 09:35 |
| lekernel | in this list you can see the vga signals are there: | 09:35 |
| lekernel | output vga_psave_n, | 09:35 |
| lekernel | output vga_hsync_n, | 09:35 |
| lekernel | output vga_vsync_n, | 09:35 |
| lekernel | output [7:0] vga_r, | 09:35 |
| lekernel | (...) | 09:35 |
| xiangfu | yes | 09:36 |
| lekernel | if you scroll down a bit you see that they go to a submodule called vga (around line 950) | 09:36 |
| lekernel | .vga_psave_n(vga_psave_n), | 09:36 |
| lekernel | .vga_hsync_n(vga_hsync_n), | 09:36 |
| lekernel | .vga_vsync_n(vga_vsync_n), | 09:36 |
| lekernel | .vga_r(vga_r), | 09:36 |
| xiangfu | yes | 09:37 |
| lekernel | so what you do is 1. disconnect those signals from the vga submodule | 09:37 |
| lekernel | so you delete all the lines that refer to the VGA signals from the vga submodule (from ".vga_psave_n(vga_psave_n)," to ".vga_sdc(vga_sdc)") | 09:37 |
| lekernel | and don't forget to remove the comma at the end of ".dcb_hit(dcb_hit)," | 09:38 |
| lekernel | 2. ground those signals | 09:38 |
| lekernel | for each signal add a line | 09:38 |
| lekernel | assign vga_r = 0; | 09:38 |
| lekernel | or | 09:38 |
| lekernel | assign vga_psave_n = 1; (to set them to VCC) | 09:38 |
| lekernel | do this after the end of the vga submodule (i.e. immediately after the ");") | 09:39 |
| lekernel | once you have assigned the values you want to each VGA signal (0 or 1) go to the synthesis folder again and re-run make -f Makefile.xst and use urjtag | 09:40 |
| lekernel | btw if you want the FPGA not to drive a signal, use 1'bz, e.g. assign vga_sda = 1'bz; | 09:40 |
| xiangfu | lekernel: is this correct: http://pastebin.com/L27dRm9A | 09:43 |
| lekernel | yes, sounds good | 09:44 |
| roh | ha. /me just ordered a dozend sbm-20 geiger tubes | 09:44 |
| lekernel | but you should use 0 for clock, r, g, b etc. | 09:45 |
| lekernel | and 1 for the *_n signals | 09:45 |
| aw | lekernel, after 'pld load' done, power cycle, should I use 'pld load' again, or it don't need since it's already existed inside fpga? | 09:45 |
| lekernel | aw: you don't have to power cycle, urjtag will erase the previously loaded .bit file | 09:45 |
| aw | okay, i think i also done with verifying load .bit file. now follow them again. | 09:47 |
| xiangfu | lekernel: like this: "http://pastebin.com/vTjC6qqS" | 09:48 |
| xiangfu | is those code at the right place? | 09:48 |
| xiangfu | I got some error: http://pastebin.com/GSXHhuuS | 09:49 |
| xiangfu | oh. I should using ''assign'' right? | 09:49 |
| lekernel | yes, assign | 09:50 |
| xiangfu | xiangfu: ok. after add the 'assign' compile continue now :) | 09:50 |
| nats` | plop | 09:56 |
| xiangfu | Phase 9.8 Global Placement ... | 10:00 |
| xiangfu | 14mins passed. still running: Running physical synthesis... | 10:04 |
| xiangfu | finally. it's finished. | 10:12 |
| xiangfu | I still got the sound noise after the the serial output "RTEMS SHELL (Ver.1.0-FRC):/dev/console. Mar 14 2011. " | 10:13 |
| xiangfu | during the boot. the earphone is quiet. after RTEMS SHELL show up. I got noise in my earphone. | 10:14 |
| xiangfu | (like an old TV without any signal) | 10:14 |
| lekernel | ok. not very surprising i'd say, but at least you can check now | 10:15 |
| xiangfu | this noise is not very obvious with my Desktop Speaker (2.1 speaker) | 10:21 |
| lekernel | yup... that's what I said... sometimes it's very obvious, sometimes you barely notice it | 10:22 |
| lekernel | but I don't know if this is because the noise amplitude actually varies of if it only depends on the response of speakers and environment | 10:22 |
| aw | xiangfu, mine is still running. you needs to listenning carefully the differences before/after we load a 'pull down' on RGB wires. | 10:22 |
| lekernel | we should get some scope measurements... | 10:22 |
| lekernel | or just measure on scope. don't listen | 10:23 |
| aw | yes, just listening probably hard to compare.. | 10:23 |
| aw | if there's no bigger differences. | 10:23 |
| xiangfu | can I mute the audio in in RTEMS shell? | 10:24 |
| lekernel | no | 10:25 |
| aw | measuring on audio will be not like normal probing for scope. but I could only verify if there's obvious noise between 20Hz ~ 20Khz | 10:27 |
| lekernel | what's wrong with measuring noise on scope? | 10:29 |
| aw | it's some sort of frequency v.s. magnitude, my scope i think probably should not distinguish them. even they are all have same magnitudes | 10:29 |
| aw | lekernel, I'll try to compare both of them(different system.v) to probe. I am saying audio frequency response is hard to probe ..well..i'll try to measure during static state. | 10:31 |
| aw | 'but I don't know if this is because the noise amplitude actually varies of if it only depends on the response of speakers and environment' >> agreed. | 10:32 |
| aw | so a better measurement is good for catching. well..so far at least thanks you taught us though on modifying 'pull high & low' tasks. | 10:34 |
| aw | but this is not recommended to modify if people don't know pins definitions thorough. | 10:36 |
| aw | my 'system.bit' is created. | 10:42 |
| aw | yes, from my site results of only listening, they are the same loud noise. don't have clearly different though. | 10:47 |
| kristianpaul | ah, _out_ means vga :-) | 10:48 |
| kristianpaul | hi xiangfu, sorry i was sleeping at that time, but seems you managed already :-) | 10:48 |
| aw | lekernel, i used speaker too. so yes, we _out_ & clarify that surely this is not caused by VGA RGB radiative/inductive noises influence. | 10:49 |
| lekernel | ok, so let's not modify anything on the vga layout in rc3 | 10:49 |
| aw | well....but modification about that known issue on layout/routing is easy. you know. why not? ;-) | 10:50 |
| aw | lekernel, one question, after 'pull down' RGB submodules, why after RTEMS run i can still see monitor? won't it be frozen on screen? | 11:04 |
| lekernel | this just disconnects the FPGA I/O pins, the video controller is still running inside | 11:04 |
| kristianpaul | hmm | 11:06 |
| aw | hum? if they are all disconnected with FPGA I/O, why ADV7125 still have analog out to vga monitor? I still can not understand. | 11:08 |
| aw | i was supposed that we like to 'disconnect' RGB digital/parallel signals, so there's no any analog vga encoded to RGB components to vga connector. so I was thought I should not see any in monitor. | 11:10 |
| lekernel | aw: ah, you mean you still have a picture?! | 11:11 |
| lekernel | on the screen? | 11:11 |
| lekernel | no, this isn't normal | 11:11 |
| lekernel | how did you modify the system.v? | 11:11 |
| lekernel | and are you reloading correctly the new bitstream with urjtag? | 11:12 |
| aw | this is mine http://pastebin.com/NhA2SpjA | 11:15 |
| lekernel | you've probably made a mistake somewhere. of course, this should completely prevent the monitor from displaying anything. | 11:15 |
| aw | yes, I forgot to ask xiangfu if he see nothing on vga monitor then. | 11:15 |
| lekernel | set vga_clk = 0 | 11:15 |
| lekernel | not tri-state | 11:15 |
| aw | yeah..let me checked them again. | 11:16 |
| lekernel | this doesn't explain your problem, but this signal shouldn't float anyway | 11:16 |
| lekernel | I guess you are sending an old system.bit to the board | 11:16 |
| aw | but i run 'jtag' under ':~/milkymist/boards/milkymist-one/synthesis/build$ sudo jtag', ti should not be wrong. :-) | 11:19 |
| aw | well..check again...:-) | 11:19 |
| lekernel | and you have run "make -f Makefile.xst" before, right? | 11:31 |
| aw | yes. | 11:32 |
| aw | and export PATH before "make..--" | 11:33 |
| aw | making....now | 11:33 |
| aw | phase 9.8.. | 11:34 |
| xiangfu | aw: the VGA monitor is black. nothing on it. I saw the boot progress on serial output | 11:45 |
| aw | xiangfu, must be mistakes on my making. | 11:48 |
| aw | i knew it now, once successfully on 'pld load system.bit' then screen is black. | 11:52 |
| aw | lekernel, i should carefully listen after done 'pld load system.bit' , right? | 11:54 |
| aw | no need to power cycle or i need ? | 11:54 |
| lekernel | no power cycle | 12:00 |
| lekernel | after pld load, your board should boot without any picture on vga | 12:01 |
| lekernel | (and if you measure the voltages on the adv7125 they should match the levels set in the verilog) | 12:01 |
| aw | okay so i have the same with serial out log with 'Minimac RX FIFO overflow' msg. then monitor is black and no more loud noise. | 12:02 |
| Fallenou | :( | 12:04 |
| aw | i turned maximum on my speaker without no audio input but still plug in audio cable in. second...checking. | 12:04 |
| aw | xiangfu, hope you confirm it again. | 12:06 |
| lekernel | if you get "minimac rx fifo overflow", it's a bug that prevents the board from booting | 12:14 |
| lekernel | you can't draw any conclusion if you get this message. just reboot until the message goes. | 12:14 |
| lekernel | you should only measure output noise when you get "RTEMS SHELL ..." | 12:15 |
| aw | um...seems my making steps is still somethings wrong. after i power cycle and shows up "RTEMS SHELL ..." but screen is still have. | 12:17 |
| aw | so yeah..no conclusion at all now. | 12:18 |
| lekernel | NEVER power cycle | 12:20 |
| lekernel | if you have to power cycle, you're doing it wrong | 12:20 |
| aw | um..so my steps of making was somewhere wrong already. | 12:22 |
| methril_work | nice MMOne load & hack session | 12:22 |
| lekernel | aw: apply power, run urjtag, type "pld load", and it boots your new bitstream | 12:23 |
| lekernel | done | 12:23 |
| lekernel | don't power cycle, don't touch the buttons | 12:23 |
| aw | umm..i was wrong on touching the buttons and power cycle though. | 12:28 |
| aw | okay..so before/after 'pld load system.bit'...is the same. | 12:28 |
| aw | done. tks for teaching. | 12:29 |
| lekernel | it's the same? | 12:31 |
| lekernel | can you ask xiangfu? he got it to work | 12:31 |
| methril_work | if i`ll catch it properly load is like openocd/gdb load command (it loads the "sw" into the memory, but you loose the changes if you power cycle) | 12:32 |
| lekernel | yeah that's what it does | 12:33 |
| aw | lekernel, i'll confirm with xiangfu tomorrow. I got the same results. | 12:33 |
| lekernel | aw: but did the VGA out go off or not? | 12:34 |
| aw | lekernel, go off surely. | 12:34 |
| lekernel | ah, ok! | 12:34 |
| lekernel | well, good, then | 12:34 |
| lekernel | everything normal :) | 12:34 |
| aw | methril_work, i have no any idea on s/w, but today yes, thanks lekernel to let us confirm this experiments initially | 12:35 |
| aw | yup. | 12:35 |
| methril_work | aw, it was a nice class ;) | 12:36 |
| aw | dinner time here. bbl all. | 12:36 |
| methril_work | today i`ve time to test my MMOne | 12:36 |
| methril_work | so i learn how to load some bits | 12:36 |
| methril_work | thnakyou lekernel | 12:36 |
| lekernel | http://raintown.org/lava/ | 15:42 |
| Fallenou | what a bad name | 15:55 |
| Fallenou | sounds like java | 15:55 |
| kristianpaul | oh | 16:38 |
| kristianpaul | ah, haskell :-) | 16:41 |
| kristianpaul | http://raintown.org/?page_id=159 | 17:10 |
| Action: Fallenou is turning crazy with PIC shitty compiler and linker | 17:16 | |
| Fallenou | how do you tell gcc to put all the code of a .c (or each function) in a specific section ? | 17:16 |
| lekernel | -ffunction-sections | 17:16 |
| Fallenou | and then tell the linker to put this section to a specific address | 17:16 |
| Fallenou | -ffunction-sections section_name ? | 17:16 |
| lekernel | ah sorry, read too fast | 17:17 |
| lekernel | no, this puts each function in a separate section | 17:17 |
| Fallenou | ok | 17:17 |
| lekernel | for the address, you must use a linker script | 17:17 |
| lars_ | you'll have to write a linker script | 17:17 |
| Fallenou | in my linker script I have a section boot starting at address 0x0 | 17:17 |
| Fallenou | but by default gcc puts the functions in the section "page" | 17:17 |
| Fallenou | so it's not going into my "boot" section ... | 17:17 |
| Fallenou | lars_: I have one | 17:18 |
| Fallenou | how do I tell fuckin gcc to put the code into "boot" section | 17:18 |
| lars_ | __attribute__(section("boot")) | 17:18 |
| Fallenou | oh ! crap I put the boot section "protected" | 17:18 |
| Fallenou | lars_: yes and with a 500 years old gcc ? | 17:18 |
| Fallenou | I guess there is no __attribute__ at all | 17:19 |
| lars_ | what version of gcc are you using? | 17:19 |
| Action: Fallenou checking | 17:19 | |
| lekernel | there's no __attribute__ at all?! | 17:20 |
| Fallenou | it's mcc18 actully | 17:20 |
| Fallenou | don't even know if it's gcc | 17:20 |
| Fallenou | or just gcc based | 17:20 |
| Fallenou | or just not gcc at all | 17:20 |
| lars_ | mathlab compiler? | 17:21 |
| Fallenou | microchip c compiler | 17:21 |
| Fallenou | for pic18 | 17:21 |
| Fallenou | it's clearly a shitty compiler | 17:21 |
| lekernel | probably not gcc | 17:21 |
| Fallenou | when there is an error it says "syntax error line XX" | 17:22 |
| Fallenou | nothing more | 17:22 |
| lekernel | sounds like the typical chipmaker software | 17:22 |
| Fallenou | anyway I think it's ok now | 17:22 |
| Fallenou | I removed "protected" from the linker script section | 17:23 |
| kristianpaul | pic 18 gcc? | 17:26 |
| kristianpaul | hmm | 17:27 |
| kristianpaul | is sdcc too bad for your app? | 17:27 |
| Fallenou | yes | 17:27 |
| Fallenou | sdcc does not work with my pic | 17:27 |
| Fallenou | Work is in progress on supporting the Microchip PIC16 and PIC18 series <= | 17:28 |
| kristianpaul | hmm | 17:30 |
| kristianpaul | i had no problem with 2.3 sdcc version | 17:30 |
| kristianpaul | but i guess my requirements are not so big | 17:30 |
| lekernel | Fallenou: why don't you use an avr? | 17:30 |
| kristianpaul | s2.3/3 | 17:30 |
| kristianpaul | Fallenou: What you want to do with the pic18? | 17:31 |
| lekernel | I've had pretty much the same experience as you with PICs ... | 17:31 |
| Action: kristianpaul always used PICs AVR are no wide spread in our cuntry.. | 17:31 | |
| kristianpaul | ;-) | 17:31 |
| kristianpaul | is 18F or 18C ? | 17:35 |
| Fallenou | 18F2580 | 17:35 |
| Fallenou | lekernel: dunno, it's not my choice | 17:35 |
| Fallenou | kristianpaul: control a motor, doing PID, receiving orders via CAN | 17:36 |
| Fallenou | lekernel: pic32 is pretty nice though ! | 17:36 |
| Fallenou | but this time it's really gcc | 17:36 |
| Fallenou | deboguing works nice too | 17:36 |
| kristianpaul | yeah pic32 are nice | 17:36 |
| kristianpaul | ah, well i never worked with CAN.. :( | 17:41 |
| Fallenou | i'm doing a lot of can and ethercat stuff | 17:50 |
| Fallenou | and spi | 17:50 |
| tuxbrain | Fallenou :(spi) then maybe I will ask you for help at one point with atmega and Nanonote :P | 18:33 |
| Fallenou | ok, I did some spi with attiny and pic32 | 18:35 |
| Fallenou | maybe I could help :o | 18:35 |
| methril | Fallenou, i use SDCC for a lot of PIC devices at work (i motivated the change from Hi-Tech compilers to SDCC) | 23:23 |
| methril | Fallenou, most of them works or are easy to add support | 23:23 |
| methril | mcc18 is not GCC based (AFAIK) | 23:24 |
| Fallenou | yes it seems so | 23:25 |
| methril | i used mcc18 in other works | 23:25 |
| Fallenou | well in my office they used sdcc sometimes | 23:25 |
| Fallenou | and to run automated tests too | 23:26 |
| methril | yes, is the next step | 23:26 |
| methril | for us | 23:26 |
| Fallenou | but at least during development we use the "normal" toolchain | 23:26 |
| Fallenou | provided by the vendor | 23:26 |
| Fallenou | with mplab, and their debuger | 23:26 |
| methril | SDCC has some known bugs, but there are workarounds | 23:26 |
| Fallenou | can you do debug when you use sdcc ? | 23:26 |
| methril | through serial line & LEDs /PINs | 23:27 |
| Fallenou | I mean single step | 23:27 |
| Fallenou | dumping memory | 23:27 |
| Fallenou | changing PC | 23:27 |
| Fallenou | break points | 23:27 |
| methril | with a scope and some other tools is more real-time friendly | 23:27 |
| Fallenou | I use a led and a scope too some time | 23:27 |
| Fallenou | but real debugging is really usefull | 23:28 |
| methril | when i've to debug something like limits, i use the gpsim | 23:28 |
| methril | it's | 23:28 |
| methril | sometimes | 23:28 |
| Fallenou | gpsim ? | 23:28 |
| methril | i used to do it with ReaICE | 23:28 |
| methril | gpsim is a PIC simulator | 23:28 |
| Fallenou | oh ok | 23:28 |
| Fallenou | but you cannot simulate the environnement | 23:28 |
| methril | it support some processors | 23:28 |
| Fallenou | like an incomming CAN message | 23:28 |
| methril | you can not | 23:28 |
| Fallenou | or ADC you speak to with SPI | 23:28 |
| methril | it has modules to do something like this | 23:29 |
| methril | with SPI you can | 23:29 |
| Fallenou | I don't think you can really replace the real-time debugging | 23:29 |
| methril | there are modules that implement a SPI device | 23:29 |
| Fallenou | nice :) | 23:29 |
| methril | no, but when you have no way to debug, and you don't have the toolchain... ;) | 23:29 |
| Fallenou | yes sure | 23:29 |
| Fallenou | you have a lot of replacement solutions | 23:29 |
| methril | the pain is getting the serial working for the first time | 23:30 |
| Fallenou | but it's really hacks and workarounds | 23:30 |
| Fallenou | but indeed you can get by with scope+leds+serial | 23:30 |
| methril | i program in Linux, but nobody hacked the Debugging | 23:30 |
| methril | isee a ICD home-made and looks like it was "working" but i never tested | 23:31 |
| Fallenou | is it expensive the ICD 3 thing ? | 23:31 |
| Fallenou | I use one at work | 23:31 |
| Fallenou | (btw scope are expensive too :p) | 23:31 |
| methril | it is (ate least here) | 23:31 |
| Fallenou | oh ok | 23:32 |
| methril | scopes are expensive, but they usually have one in electric labs :) | 23:32 |
| methril | i prefer PicKit2 than ICD2 | 23:32 |
| methril | i didn't check ICD3 | 23:32 |
| Fallenou | i'm using the icd3 | 23:33 |
| methril | i teste RealICE, and works ok | 23:33 |
| Fallenou | because I do pic18F *and* pic32 | 23:33 |
| Fallenou | I guess you can't do pic32 with icd2 | 23:33 |
| Fallenou | (I didn't test) | 23:33 |
| Fallenou | some of my colleagues use icd2 though | 23:33 |
| methril | i don't know | 23:33 |
| methril | we are migrating to ColdFire v! | 23:34 |
| methril | v1 | 23:34 |
| Fallenou | oh freescale ? | 23:34 |
| methril | yes | 23:34 |
| methril | i had better experience with their uP | 23:34 |
| methril | (HCS11/12/12X) | 23:34 |
| Fallenou | never tested | 23:35 |
| Fallenou | I just did some avr + pic18/32 | 23:35 |
| methril | are like small PPCs | 23:35 |
| Fallenou | i'm noob :) | 23:35 |
| methril | i prefer other archs, let's see what lm32 gives us ;) | 23:36 |
| Fallenou | sure ! | 23:36 |
| Fallenou | pic18 instruction set is nice though | 23:36 |
| methril | for assembler are easy | 23:36 |
| Fallenou | you can pretty much program in assembly | 23:36 |
| Fallenou | without that much pain | 23:36 |
| Fallenou | and translate assembly to C | 23:36 |
| Fallenou | easily | 23:36 |
| methril | yes, but is a mess when you deal with pointers | 23:37 |
| Fallenou | hum maybe yes | 23:37 |
| Fallenou | didn't try | 23:37 |
| methril | i see a Microchip engineer doing a LLVM port for PIC18 devices | 23:37 |
| methril | but it stopped | 23:37 |
| Fallenou | oh :/ | 23:37 |
| methril | if you want to dig with compilers, you could help :) | 23:38 |
| Fallenou | for the moment I don't have time for big tasks unfortunately :/ | 23:40 |
| methril | oh!! for your problem, you could use: #pragma code func_space | 23:42 |
| methril | and when this functionends, #pragma code | 23:43 |
| methril | to "restore" the pragma sentence | 23:43 |
| Fallenou | hum | 23:43 |
| methril | later on the linker, you could use the NAME=func_space | 23:43 |
| Fallenou | you mean #pragma code section_name | 23:43 |
| Fallenou | ? | 23:43 |
| methril | yes | 23:43 |
| Fallenou | before the function | 23:43 |
| methril | yes | 23:43 |
| Fallenou | the pragma explanation in MPLAB C18 compiler user guide is hard to understand | 23:44 |
| methril | something like this: #pragma code boot_func | 23:44 |
| Fallenou | the doc is really sucky on this point | 23:44 |
| methril | fvoid func (void) { | 23:44 |
| methril | } | 23:44 |
| methril | #pragma code | 23:44 |
| Fallenou | hum ok | 23:44 |
| methril | on the linker you put | 23:44 |
| Fallenou | the thing is I need to put everything inside my c file (everything inside the project actually) inside a specific section | 23:44 |
| methril | SECTION_NAME=boot=func | 23:44 |
| Fallenou | so I just put protected everywhere, except on this section :) | 23:45 |
| Fallenou | and all my functions goes into this section | 23:45 |
| Fallenou | I needed *one* particular function to go at address 0 | 23:45 |
| Fallenou | so I put just for this one a specific pragma | 23:45 |
| Fallenou | with like #pragma code func_name=0x0000 | 23:45 |
| methril | when you define a code section, you could use later on (1 or more functions) | 23:46 |
| methril | if you specify this in the .c file, you don need to do it into the linker, but it cleaner to have it there too | 23:46 |
| Fallenou | one thing I haven't sorted out yet, it how to put a function "inline" | 23:46 |
| Fallenou | I tried several syntax without success | 23:47 |
| Fallenou | is** | 23:47 |
| methril | there is no way | 23:47 |
| Fallenou | :( | 23:47 |
| Fallenou | really too bad | 23:47 |
| Fallenou | It could save me several instructions | 23:47 |
| methril | at least i never had success | 23:47 |
| Fallenou | and I don't want to use macros | 23:47 |
| methril | maybe mixing assembler you could | 23:48 |
| methril | but i not a C18 expert | 23:48 |
| Fallenou | hum dunno if I can do | 23:48 |
| Fallenou | _asm | 23:48 |
| Fallenou | bra symbol_name_in_C | 23:48 |
| Fallenou | _endasm | 23:48 |
| methril | you could | 23:48 |
| methril | bra or goto (as is inline) | 23:48 |
| Fallenou | but it could only work for functions without arguments | 23:48 |
| Fallenou | but anyway most of my functions does not take args | 23:48 |
| Fallenou | it's really a "simple" code, it's a 512 bytes bootloader | 23:49 |
| methril | you could do the same that the stackdoes in assembler | 23:49 |
| Fallenou | hum yes but it adds too much complexity | 23:49 |
| methril | it adds | 23:49 |
| Fallenou | don't want to follow function call rules in assembly and stuff | 23:49 |
| Fallenou | if I start to do that, I should do everything in assembly | 23:50 |
| Fallenou | I wanted to keep it simple and to stick with C | 23:50 |
| methril | hehehe | 23:50 |
| methril | better | 23:50 |
| methril | it's hard to maintain assembler code | 23:50 |
| Fallenou | to ease the maintainability of the code :) | 23:50 |
| Fallenou | yes | 23:50 |
| methril | use it as few as possible | 23:50 |
| Fallenou | actually I had already a lot of legacy working CAN code in assembly | 23:50 |
| Fallenou | I translated it into C for my boot loader lol | 23:50 |
| Fallenou | So I really could have done it in assembly without too much problems | 23:51 |
| methril | :) | 23:51 |
| Fallenou | but really C is much more readable | 23:51 |
| methril | well, bbl, i'm going to cook something | 23:51 |
| Fallenou | (even if I agree , on pic18 it's not that bad) | 23:51 |
| Fallenou | :) | 23:51 |
| Fallenou | bon appetit! | 23:51 |
| methril | merci | 23:52 |
| --- Wed Mar 23 2011 | 00:00 | |
Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!