Proxmark3 community

Research, development and trades concerning the powerful Proxmark3 device.

Remember; sharing is caring. Bring something back to the community.


"Learn the tools of the trade the hard way." +Fravia

You are not logged in.

Announcement

Time changes and with it the technology
Proxmark3 @ discord

Users of this forum, please be aware that information stored on this site is not private.

#1 2014-04-22 12:33:44

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

setup the development environment for arm FW, and fpga FW

Could someone point me to some starting reading about development environment setup for arm and fpga firmware development?

Last edited by gaucho (2014-04-22 17:42:05)

Offline

#2 2014-04-22 15:33:56

vivat
Contributor
Registered: 2010-10-26
Posts: 332

Re: setup the development environment for arm FW, and fpga FW

For ARM FW+client you need to read a "getting started guide" PDF in your ./doc/ folder. Don't forget to install Git instead of SVN!
For FPGA you will need Xilinx Webpack version 10.1 or older. Plus maybe Modelsim simulator or other alternative verilog simulator. You can find full versions on torrents.

Offline

#3 2014-04-22 16:59:19

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

do you mean this guide: https://code.google.com/p/proxmark3/sou … trunk/doc/
?

i downloaded the getting started guide (for windows) and i suppose that i have to replace svn with git, since you suggested it.
I downloaded also git and i installed it.
the getting started guide requests TortoiseSVN, why you said git? i'm experiencing some problems on git use with google code.

should i join the google code group? how to do it? i can't see any link on google code in order to join the group.
maybe it is not needed?


EDIT: i ended my patience with git. i followed the getting started guide entirely, by using tortoisesvn. now i have my local repository copy

Last edited by gaucho (2014-04-23 10:53:05)

Offline

#4 2014-04-22 17:40:27

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

how to compile?

if i run the runme.bat and i type the command make clean i get the following error:

pm3 ~$ make clean && make all
make: *** No rule to make target `clean'.  Stop.
pm3 ~$

EDIT: i edited the runme.bat file as explained in the guide

NOTE1: the MYPATH variable must be ended by the \

NOTE2: the first time, if you have the pm3 folder empty, you should right click on pm folder and select "SVN CHECKOUT"

NOTE3: running the runme.bat you should type cd proxmark3 and then make clean

NOW IT WORKS !!

i can't post a log because it's too much long and it was truncated by the terminal window.

anyway i successful executed commands:

cd proxmark3
make clean
make

Last edited by gaucho (2014-04-22 18:14:55)

Offline

#5 2014-04-22 18:19:45

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

Is it there a preferred EDITOR or IDE for coding?

Do i have to use notepad (better ultraedit) or do we have a IDE that automatically detects sintax errors and so on?

Offline

#6 2014-04-22 18:26:14

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

for the fpga development, as suggested by vivat, i started download the ise webpack from http://www.xilinx.com/webpack/classics/wpclassic/ but..hey it's 2,2GB !!!!! damn, i will do it next week from the adsl, on mobile connection it's not possible.

Last edited by gaucho (2014-04-22 18:28:27)

Offline

#7 2014-04-22 20:58:54

Enio
Contributor
Registered: 2013-09-24
Posts: 175

Re: setup the development environment for arm FW, and fpga FW

Be sure to check how to get a free license. I had to request one, but it wasnt just for webpack but for a bigger ise suite - i had to download that and install from there. So i downloaded alot more than 2 GB..

Offline

#8 2014-04-22 21:04:56

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

what about http://www.atmel.com/microsite/atmel_studio6/
could we use it for arm development?

hey Enio, what should i use to develop arm FW? (IDE/editor)

About the fpga development: are you telling me that i should download different package? could you share some hints?

Last edited by gaucho (2014-04-22 21:07:08)

Offline

#9 2014-04-22 21:11:53

Enio
Contributor
Registered: 2013-09-24
Posts: 175

Re: setup the development environment for arm FW, and fpga FW

Im not at my pc to check - the ise unstaller will ask for a serial. Its free to request for that older versions, however i got a serial for some ise suite- which included webpack - webpack installer still refused to take that serial - i had to install whole suite. So first get your serial and then see which pack it is for.


I use Vim for coding and comüile in commandline. No ide or so, bit there sould be some usable ides around. The fpga code however is quite easy and i do fine without testing in simulation. (Im on linux, maybe for win theres a cool ide)

Offline

#10 2014-04-22 22:55:50

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

i started with visual studio. i've seen that i can see .c and .h files with visual studio. It is missing only the grouping of the files inside a single project. for now i edit one file at time. i don't know if i can see them inside visual studio as a single project.

Last edited by gaucho (2014-04-22 22:56:12)

Offline

#11 2014-04-23 04:44:22

vivat
Contributor
Registered: 2010-10-26
Posts: 332

Re: setup the development environment for arm FW, and fpga FW

I don't understand why do you need visual studio. Proxmark client is open-source and cross-platform, from android to mac os. You can't build/test FPGA code with visual studio. I'm not sure about Lua, Shell scripting as well.
About text editor:
Since you are under windows, you can use your favorite one(sublime, notepad++, ultraedit, textpad etc). Linux guys have vi, emacs, gedit, nano etc.

Offline

#12 2014-04-23 09:10:12

0xFFFF
Administrator
From: Vic - Australia
Registered: 2011-05-31
Posts: 632

Re: setup the development environment for arm FW, and fpga FW

A somewhat suitable cross platform IDE is Eclipse.

Offline

#13 2014-04-23 10:24:03

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

@vivat: because to develop code without IDE requests more time than to develop code with a good IDE.
A good IDE helps you to find sintax errors, it gives you hints while typing code.
If you ever tried the difference, you know what i'm talking about.

IDE usually includes a compiler and a debugger, but in this case, if it is not possible, it could be usefull at least a good editor

visual studio can be used as editor and it is better than ultraedit because it can better handle the C code.


I have it installed because i use it for visual studio projects.

I also have eclipse, i will try it.

But i supposed that years of development on this project caused the standardization of the best development environment.
So i supposed that you all know which is the best way to work on this firmware.
Did someone tried the new ATMEL IDE? i linked it few posts ago of this thread.

p.s.:if i well understood, the classes are shared between the arm FW and the client SW. They are placed in different folders, just for a conceptual division, but then they are used togheter, even if they are placed in different folders.
I didn't understood how to find the declaration of a function without to open all the files to search for that function.
I hope my question is clear.

Last edited by gaucho (2014-04-23 10:40:56)

Offline

#14 2014-04-23 11:32:23

vivat
Contributor
Registered: 2010-10-26
Posts: 332

Re: setup the development environment for arm FW, and fpga FW

I prefer good text editor with good set of plugins than IDE. I tried both monstrous visual studio which eats lots of ram and cpu and light sublime/notepad++ with plugins. How are you going to work with visual studio under linux or mac os? If your code works under windows it doesn't automatically mean that it works good under *nix.

Atmel Studio 6 supports all 8- and 32-bit AVR MCUs, the new SoC wireless family, and SAM3, SAM4 and SAM D20 MCUs

Where did you see it supports SAM7S?
Wow, I didn't know that C99 have classes...

Last edited by vivat (2014-04-23 11:41:25)

Offline

#15 2014-04-23 19:29:06

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

visual studio: i don't need to work with visual studio under linux and mac. i told you that i'm using it as editor, not as compiler.
anyway, i'm just asking what do you use/suggest.
i understood that you use notepad++. i never tried it for coding.

atmel studio: ok, it's not ok for us.

about the functions and includes: which method do you use to jump from a function call to the function declaration? sometime i need to open 10 files before to find the function declaration.

..also because they are not in the same folder, so i have to search inside each included file for the name of the required function, but before, i need to search inside each folder in order to find each included file. Not really intuitive..

..do i miss something?

Last edited by gaucho (2014-04-23 19:35:22)

Offline

#16 2014-04-24 06:06:33

vivat
Contributor
Registered: 2010-10-26
Posts: 332

Re: setup the development environment for arm FW, and fpga FW

No I use sublime under windows. There is a plugin "Find Function Definition". I used notepad++ and it also have Function List Pane on the right of the window. Maybe there is some plugin for this task, I don't know.

Offline

#17 2014-04-24 18:47:28

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

ok,
i'm downloading it.

Offline

#18 2014-04-24 19:00:43

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

i like it.
i downloaded sublime text3 beta version (portable)
From menu file i selected "open folder" and i selected the proxmark sources folder.
i opened a c file.
i placed the mouse on a function name, then i pressed F12.
By this way it automatically finds the functions in the opened folder.
it don't recognize the name of the included file, infact it finds each occourence of that function declaration inside the folder.
In example the function SendCommand is found on proxmark3.c and in flasher.c
but in my case the included file is proxmark3

it's good enough for now.

Offline

#19 2014-04-25 13:58:48

piwi
Contributor
Registered: 2013-06-04
Posts: 704

Re: setup the development environment for arm FW, and fpga FW

gaucho wrote:

i downloaded the getting started guide (for windows) and i suppose that i have to replace svn with git, since you suggested it.
I downloaded also git and i installed it.
the getting started guide requests TortoiseSVN, why you said git? i'm experiencing some problems on git use with google code.

should i join the google code group? how to do it? i can't see any link on google code in order to join the group.
maybe it is not needed?


EDIT: i ended my patience with git. i followed the getting started guide entirely, by using tortoisesvn. now i have my local repository copy

The code repository has moved from google code (using svn) to github (using git). The recommendation for TortoiseSVN is therefore outdated. Latest revisions are on github only and git is the correct tool to access it.

Offline

#20 2014-04-25 14:20:58

piwi
Contributor
Registered: 2013-06-04
Posts: 704

Re: setup the development environment for arm FW, and fpga FW

gaucho wrote:

anyway i successful executed commands:

cd proxmark3
make clean
make

There are some useful make targets:
make client : compiles the client only
make flash-os FLASH_PORT=com3 : compiles the os and flashes it (you need to replace "com3" with your correct com-port of course)
make flash-fpga FLASH_PORT=com3 : flashes the fpga-code
make flash-both FLASH_PORT=com3 : should be obvious...

flash-fpga however doesn't make a new fpga.bit from the verilog sources. The sequence to compile and flash the fpga would be:

cd fpga
make
cd ..
make flash-fpga FLASH_PORT=com3

BTW: I also don't use an IDE and prefer notepad++ for similar reasons as in "Real Programmers don't Use Pascal". If someone would find out how to setup an IDE for cross-debugging (use breakpoints, examine variable contents) the ARM code I could be convinced to use it :-)

Offline

#21 2014-04-25 14:44:09

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

piwi wrote:
gaucho wrote:

i downloaded the getting started guide (for windows) and i suppose that i have to replace svn with git, since you suggested it.
I downloaded also git and i installed it.
the getting started guide requests TortoiseSVN, why you said git? i'm experiencing some problems on git use with google code.

should i join the google code group? how to do it? i can't see any link on google code in order to join the group.
maybe it is not needed?


EDIT: i ended my patience with git. i followed the getting started guide entirely, by using tortoisesvn. now i have my local repository copy

The code repository has moved from google code (using svn) to github (using git). The recommendation for TortoiseSVN is therefore outdated. Latest revisions are on github only and git is the correct tool to access it.

Are you telling me that by using tortoiseSvn i downloaded a old revision of the proxmark sources?
things are not really clear for me. I never used git and it's the first time tht i use svn.
can i read somewhere how to proceed?
Thank you.

Offline

#22 2014-04-25 15:20:31

piwi
Contributor
Registered: 2013-06-04
Posts: 704

Re: setup the development environment for arm FW, and fpga FW

No, not necessarily.

If you used tortoisesvn to download from google code: yes, you have an old revision.
If you used tortoisesvn to download from github: you have an up to date revision.

See https://help.github.com/articles/suppor … on-clients for some hints. I don't have experience using svn with github but I would assume that this is a workaround only if you don't want to familiarize yourself with git.

Offline

#23 2014-04-25 16:41:45

gaucho
Contributor
From: France
Registered: 2010-06-15
Posts: 444
Website

Re: setup the development environment for arm FW, and fpga FW

there are some things really not clear in my mind:
1)why on http://www.proxmark.org/ there is the link to DEVELOPMENT linked to google code?
if you say that google code is not updated, why to maintain it active?


I downloaded the github version using the https://github.com/Proxmark/proxmark3.git link. my last try with github was not working since i inserted svn link in to git client!!

EDIT: i found the post about the movement to github and i removed some of my questions from this post.

Last edited by gaucho (2014-04-25 17:26:07)

Offline

#24 2014-05-03 20:28:31

holiman
Contributor
Registered: 2013-05-03
Posts: 566

Re: setup the development environment for arm FW, and fpga FW

I'm also in the process of getting into FPGA development. How come we must use the older version of ISE Webpack (10.1 or older) ?
I'm trying to install it on linux, but it just pukes out a lot of files and does not really create anything executable for me to run. Documentation seems more aimed towards later versions of the webpack...

EDIT: ok, I get it, I think I just installed the service pack 3, but not the base install. I kind of thought it was "full version + service pack 3", but I guess it wasn't..

Last edited by holiman (2014-05-03 20:30:28)

Offline

#25 2014-05-03 21:07:17

Enio
Contributor
Registered: 2013-09-24
Posts: 175

Re: setup the development environment for arm FW, and fpga FW

holiman wrote:

I'm also in the process of getting into FPGA development. How come we must use the older version of ISE Webpack (10.1 or older) ?
I'm trying to install it on linux, but it just pukes out a lot of files and does not really create anything executable for me to run. Documentation seems more aimed towards later versions of the webpack...

EDIT: ok, I get it, I think I just installed the service pack 3, but not the base install. I kind of thought it was "full version + service pack 3", but I guess it wasn't..

You need the old webpack as the newer one doesnt support our ARM.

@Gaucho and others:

I just checked. I requested a license for the older version (i first downloaded the old ISE webpack only and tried to install until i realized i need a license.)
I got licenses for the following tools (the list you see there, i just removed the keys).

As you see there is no license included for Webpack only - but for whole ISE Foundation suite (The download i used is named ise_SDF.tar, size: 3.6 GB).

Dear Enio,

Thank you for registering your Xilinx Design Tools product. A Registration ID corresponding to the product you have registered is listed below. This Registration ID is required in order to complete the installation of your past version product.

Product	9.2 RegID	9.1 RegID 	10.x
ISIM	 	 	                                           
PlanAhead	                                            
ISE Foundation 
EDK	
ChipScope PRO
ChipScope PRO SIOTK
System Generator
AccelDSP


Regards,
Xilinx Customer Service 

So to save you some hassle, first request a licence, then find the corresponding download.

I think you can do it here http://www.xilinx.com/getlicense - you need to register and add some data.. Its all a bit confusing, i needed a while to find the right sites..

Offline

Board footer

Powered by FluxBB