Forum Discussion
Altera_Forum
Honored Contributor
16 years ago[TSE] how have the datas from fifo tse ?
Hi,
I need some help about triple speed ethernet (tse) to receive and transmit datas. I have paid for IP-TRIETHERNET + IP-NIOS + IP-TCPIP-NIOS. The altera support and commercial contact told me that I need only this pack to do the gigabit... I add gigabit to our board. We need 10/100 and 1G in ethernet. We use the marvel 88E1111 like phy and cyclone II (stratix III too on other board). We connect the phy marvell with altera in mii / gmii mode. I have a nios II with the tse module. With the advise of altera support, I do my sopc project with the "Triple Speed Ethernet Data Path Rference Design" aka AN483. But with this exemple , I can't send my own datas or receive and display the datas that I receive. The module "eth_gene" can send only random datas or incremental datas and "eth_moni" can count the bytes received and mentionned if packets with error or not. I don't understand why we need other module to have the datas or to send our own messages because I paid for doing all in gigabit. If I want to use the "simple socket server " exemple code, I need to use the "sgdma" module but it is not free. (see in ug_ethernet.pdf 6.2) And why didn't tell me that I need other thing to use my tse pack ? So, is the sgdma module important ? necessary ? or can I create my own module to use the streaming (in and out) from my tse module in the nios. Our board must send any datas that we want and receive any datas on ethernet. How can I access to the datas in the fifo of the triple speed ethernet module ? I need help about this and it's very urgent. Thanks Cordialy, Benoît Edit : my .qar file ici (http://exterminabur.free.fr/etep608a_dtd_ben.qar)33 Replies
- Altera_Forum
Honored Contributor
Check the objdump file for the code section which has been mapped to those 0x230 bytes.
- Altera_Forum
Honored Contributor
In fact, I have a program in a boot (a onchip memory in altera) that it jumps to my ram (where there is the final program in RAMPROG with base address = 0x8a00000).
I add to you my .objdump files : - prog_nios1_etep608A.objdump is my old before adding "sgdma module" and it works great - prog_91_etep608A.objdump is my new after adding the module (in the objdump .zip file ;) ) thanks again Cris for your help - Altera_Forum
Honored Contributor
I can't give you an exact explanation. I faced similar problems in the past during some tests but I can't remember or I didn't investigate the cause.
I think this could be related to one of these: - placement of exception vector; see Nios properties in sopc builder - initialization of onchip memory Cris - Altera_Forum
Honored Contributor
--- Quote Start --- I can't give you an exact explanation. I faced similar problems in the past during some tests but I can't remember or I didn't investigate the cause. I think this could be related to one of these: - placement of exception vector; see Nios properties in sopc builder - initialization of onchip memory Cris --- Quote End --- hum... I see that "exception" is "0x0" in old objdump and the base address is 0x8a00000 but in the new objdump the "exception" is "0x230" and the base address is 08a00230 ...I don't think that is an accident, do you ? so, just a thing, I use "void jump_from_loader(void target(void))" to jump from "boot" to "ram prog". and I do this :
so I must (maybe) jump not to RAMPROG_BASE but to RAMPROG_BASE + EXCEPTION. And just to now, I always do this but It is wrong ,I have just lucky that the "exception" is "0x0". i hope I'm near the solution of my problem ;)- "jump_from_loader((void(*)(void))(RAMPROG_BASE));" - Altera_Forum
Honored Contributor
Hello Cris,
so I test my jump to "RAMPROG_BASE + OFFSET 0x230" and all is ok I test too my jump to "RAMPROG_BASE" and option "enable_alt_load_copy_exceptions" disabled in my bsp and all is ok. Now,I want to launch the "simple socket server" like nios II ide example project : - compilation is ok (i just disable the flash using). - but I have a error message in debug rs (I put my capture.txt file) So i don't undersand because i paid for IP-NIOS , IP-TRIETHERNET and IPSW-TCPIP-NIOS (for nichestack license) So why I have this error how can I obtain a "simple socket server" example with my license (I use triple speed ethernet in gmii mode too). ? thanks for helping Cordialy, Ben - Altera_Forum
Honored Contributor
Hi Ben,
That's not an error. It simply reminds you that you don't have a valid license to use nichestack. Your program should work anyway. I think you probably see also a reminder about Micrium RTOS license during compilation: this one you don't have but, like Nichestack, code will be 100% functional for evaluation purposes. Regarding the fact the tools can't see your license, if you actually have it, probably you missed something in the installation of Nichestack licence itself. Refer the the information they gave you when your purchased the TCPIP package in order to know how to install it. Cris - Altera_Forum
Honored Contributor
I have the license and it is with nios license
and I don't why I haven't a simple exemple to use tse for sending and receiving datas . - Altera_Forum
Honored Contributor
Hello,
So, I try "simple socket server example " but I can't use it. I have the connexion, in uart I have information that all is ok and "ss example " is working but I can't telnet it ... but here (http://www.altera.com/support/examples/nios2/exm-hello_world.html) I see that I haven't the same "simple server socket" because I haven't the "network_utilities_iniche.c"wh[/B]ere can I obtain the zip project or the example ? [/B]
- Altera_Forum
Honored Contributor
hi
Those utilities are not mandatory. They help you to manage mac and ip addresses and store them into nv memory. For test purposes you can simply define fixed addresses. Regarding the fact you say you can't telnet, do you mean you can't either ping? Or you can ping but you can't connect to telnet port 23? I recommend you start with dhcp disabled and use a well known fixed ip address. Cris - Altera_Forum
Honored Contributor
yes
I always start with dhcp disabled and fixed ip address ;). so I don't ping and telnet. I have see some information where there is a problem. In "ins_tse_mac.c", in "triple_speed_ethernet_init" function, it returns "ENP_HARDWARE" not for "p_driver_data" but for "psys_info". I can't see what I do or where I look for this problem. EDIT: after investigation : I see why have this error of psys_info.
"p_driver_data->hw_mac_base_addr" is egal to my TRIPLE_SPEED_ETHERNET_0_BASE but not the "tse_mac_device[i].tse_mac_base" why ? I must add something to initialize it ?/* Get the pointer to the alt_tse_system_info structure from the global array */ for(i = 0; i < max_mac_system; i++) { if(tse_mac_device.tse_mac_base == p_driver_data->hw_mac_base_addr) { psys_info = &tse_mac_device; }