|
George_George wrote: What do you mean "all" it must have? Could you list the materials in your mind which cross-development package should have besides compiler/linker? Like static/dynamic library, header files or something?
Nada, zip, zelch, nothing else required. Really. All you need to create binaries to download onto a target is a cross compiler, which also links. When I say "besides what you typically find on a PC" I mean you have a means to edit files already... heck, you could even use Notepad. It's all just text files, really. Debuggers and navigational aids are mere luxuries.
Having said that, any company worth their salt wouldn't make their employees work with such a primitive development environment. They usually at least supply a source code editor, although I know many embedded developers who prefer to just use emacs, vi, or other open source tools out there. [Oh, can I say "open source" on a MS forum?] They often supply a debugger, if available (more on that later), or may even purchase an entire third party IDE.
I suppose now you're wondering, so how does one debug the program when it's running on a separate processor outside the PC? It's true that many embedded software is developed with environments that are quite primitive to the standards of anyone familiar with an IDE, although slick IDE's for embedded systems can be purchased for lots of money, and also Elipse is making a lot of inroads. [Can I mention Eclipse on an MS forum?] The good IDE's have software that is made to be part of the downloaded image, and an application that runs on the host (PC) that can talk to each other. The fact is, debuggers work closely with the CPU and have intimate knowlege of the cross-compiler, and when there are a wide variety of CPUs and compilers for which to do embedded development, only the most popular get good third party IDE tool support. In my current embedded software development environment, I don't even have a debugger. That's right, I have no way to set breakpoints and watch variables. I figure out what's going on with the system by reading logs (debugging with printf's!) and observing the behavior of the target system. Since I am an EE and not afraid of "the metal", sometimes I might also get an oscilloscope or a logic analyzer, put some probes on the target hardware, and observe the signals. However, since I currently work with a "System on a Chip" or SoC, where the CPU is part of an ASIC that also has a lot of the capabilities that would otherwise be done by separate chips on a board, I don't have as many convenient places to place hardware probes.
You may also wonder how to download; this forum is really not the place, so I won't go into much detail. I really recommend the Michael Barr book. He explains things in the kind of detail you're looking for. You don't actually have to buy the kit and perform the steps to learn from the book. Having said that, the company I work for now has a homegrown Windows program that talks to the target via USB. I can start this monitor, use commands in it to download the binary image to the memory on the target, get logs, and various other exercises on the chip (even writing to and reading from specific hardware registers), as it continutes to run. (This is why I'm on this forum... I'm trying to figure out if the old VS6 files, and the makefiles that build them, can be ported to VC++ Express... I'm a fish out of water.) But the specific ways to download software to the target vary with the type of memory used on the target. If you use ROM, the binary is burned to the ROM chips with a ROM burner attached to your PC (which has it's own program to use), and then the chips are thrown away if you want to change the code. If you use EEPROM (Erasable Programmable Read-Only-Memory) you can reuse the chips. If you use flash memory it's typcially on the board and you can download new software to it as many times as you please. The board in the kit used by the Michael Barr book has flash memory.
Now, if someone would just answer my separate question about equivalent build command lines for msdev and vcbuild, I'll be a lot happier!
|
|
|
|
|
Thank you for your great reply, jasper77!
jasper77 wrote: Nada, zip, zelch, nothing else required.
What are they? Embedded development tools' nicknames?
regards,
George
|
|
|
|
|
George_George wrote: Thank you for your great reply, jasper77!
You're welcome!
George_George wrote: What are they? Embedded development tools' nicknames?
Again, this is off topic for this forum, so I'm not going to go into great detail. However, you can do a web search for [Embedded Software Development Tools] and find many results. You can also find interesting results with the search [Embedded Software "Getting Started"]. If that doesn't satisfy, try adding the word "tutorial" or try [Embedded Development "Getting Started"]. I will have to say, though, that most of the information presumes more knowledge about the area than you probably have, as they're geared toward embedded development professionals who would use the kits as prototype hardware on which to develop until their company's hardware engineers put together whichever hardware they really want to use.
I'm guessing you don't really want to tackle choosing some hardware, an OS that will run on it or figuring out how to do without one (that's right; many embedded systems don't have OS's), a cross-compiler that will compile for it, learning how to initialize the hardware, and all that stuff. If you really want to try out embedded programming, you want to get a kit and have a good walk-through. This is why I recommend Michael Barr's book. It's the only good resource I know aimed at introducing embedded development concepts to someone who is already a programmer but has only host-side experience, and maybe not an Electrical Engineering degree. You can see an overview of the book at http://www.netrino.com/Books/EmbeddedC/index.html You would purchase the board, the book, and then the book would show you how to use some free tools and walk you toward actually accomplishing things on the target.
Enjoy!
|
|
|
|
|
Thank you jasper77!
Your reply is so great!
regards,
George
|
|
|
|
|
Does someone knows why StretchBlt returns 0
when copying a bitmap on a printer device context?
It works for many printers but not for the one
I've to use!!
Are there some printers settings to do ?
Thanks a lot !
|
|
|
|
|
StretchBlt returns Nonzero if the bitmap is drawn; otherwise 0.
Not all devices support the StretchBlt function. To determine whether a device supports StretchBlt, call the GetDeviceCaps member function with the RASTERCAPS index and check the return value for the RC_STRETCHBLT flag.
Somethings seem HARD to do, until we know how to do them.
_AnShUmAn_
|
|
|
|
|
Thanks, but I've already checked that
flag and it seems to be ok !
|
|
|
|
|
You can draw your bitmap directly on the printer dc handle
whitesky
|
|
|
|
|
Hi All,
I am stuck with ideas on how to gain access to the controls of a webcam.
What I want to achieve it to write a C++ program to capture images from a webcam.
Does anyone know of a nice and simple method I can do this.
I have been looking at TWAIN and WIA, but seems so complex to get started.
Cheers,
Chee
|
|
|
|
|
use OpenCV which is usefull toolkit to manipulate webcam.
You can find some tutorials from Google.
|
|
|
|
|
wow...thanks so much.
never knew about this openCV. not tried it yet, but seems to do the job for me.
Thanks again.
|
|
|
|
|
hi All,
Is there anybody having coding realted to enahnced write filter
Please send it urgently.
Thanks and regards
Pradeep
|
|
|
|
|
bannapradeep wrote: Is there anybody having coding realted to enahnced write filter
say that again ?
Maximilien Lincourt
Your Head A Splode - Strong Bad
|
|
|
|
|
|
Is there anybody having coding realted to enahnced write filter
|
|
|
|
|
Is there anybody having coding realted to enahnced write filter
|
|
|
|
|
|
sorry there was typing mistake
Enhanced Write Filter coding
|
|
|
|
|
sorry there was typing mistake
Enhanced Write Filter coding
|
|
|
|
|
|
Hi
Can anyone tell me how i can set the position of the cursor in an Edit Control
i want to place a space after the user enters a full stop, im using the below, but this just
puts the cursor back to the start, rather than the end
CString csText, csText2;
m_c_sms.GetWindowText( csText );
csText2 = csText.Right(1);
if (csText2 ==".")
{
csText = csText+" ";
m_c_sms.SetWindowTextA(csText);
}
|
|
|
|
|
where you asking this yesterday[^] ??
also :
si_69 wrote: m_c_sms.SetWindowTextA(csText);
don't use SetWindowTextA() but SetWindowText() .
BTW, AFAIK, you can use CEdit::SetSel(end, end);
TOXCCT >>> GEII power
[VisualCalc 3.0 updated ][Flags Beginner's Guide new! ]
|
|
|
|
|
use m_edit.SetSel(pos, pos, TRUE);
Do the chickens have large talons?
|
|
|
|
|
Hai to all,
i am connecting to Access DataBase
In one case i want to delete all rows in my table
so that i have written a code like this
cData1 is a class derived from CRecordSet.
CData1 rs;
rs.Open();
rs.MoveFirst();
while(!rs.IsEOF())
{
rs.Delete();
rs.MoveNext();
rs.Update();
}
rs.Close();
It is giving error like this
Attempt to update or delete failed
can any one help me plsssssssss
thanks in advance
B.LakshmiPathiRao.
VC++ Programer
-- modified at 2:19 Thursday 20th July, 2006
|
|
|
|
|
LakshmiPathiRao wrote: rs.MoveNext();
rs.Update();
I believe these are in the wrong order.
Why not something simple like:
CDatabase db;
db.ExecuteSQL("DELETE FROM table);
"Money talks. When my money starts to talk, I get a bill to shut it up." - Frank
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|