Re: Newbie to WCE!
- From: Robby <Robby@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 30 Oct 2007 09:03:02 -0700
Thanks guys, I appreciate your feedback,
One more point though!
Considering the following recomendations that you have given me:
====================================================
BSPs are not CPU specific, they are board specific ("B" stands for Board).
AND
Some manufacturers also provide so-called CPU Support Package, a platform >independent library that can be used when developing for this particular
CPU.
AND
But still you are far away from the BSP for your custom board! See Dean and Paul >replies, depending on your experience it may take you many man/months to get >the job done ...
AND
Dean is saying that you can build whatever you want *but*, in order for
Windows CE, which is a full-blown operating system, just like Windows XP,
etc., you have to write a board support package for your board. This is not
a 1-day operation and, unless there is a sample BSP for your type of
processor,
AND
Your understanding is certainly flawed. A BSP is *NOT* a little program====================================================
that makes the board do something. It's a complete layer of system code
which provides services that the Windows CE kernel needs to configure your
specific processor, etc., and provides drivers for each and every device and
bus that your hardware supports.
As I surfed on the net in the search for some WCE compatible boards, I have
noticed that they come with many hardware services (Such as USB, IRDA, NTSC,
PAL, RS232 ports , 10/100 LAN, Audio, mouse, Ethernet and much much more.)
So what is one to do if he *only* needs a 2" x 2" board with a WCE processor
connected to a 1.5" LCD display on it. That's it!!!!
The why am I inquiring for WCE if thats all I need?
Because I want to leave the possibility of future expansion in the WCE world!
Having said this, what should I be looking for and do you have any
suggestions of which board maker (*if* there is one) or evaluation kit that
should I be looking for? There are so many options out there... discouraging!
--
Best regards
Robert
"voidcoder" wrote:
.
BSPs are not CPU specific, they are board specific
("B" stands for Board). But yes, it is worth asking
the chip maker for the BSP if they have one (there
may be some development kits or reference design
boards based on the same CPU) cause it normally
includes a good bunch of code for the CPU itself
which can be ported to your own BSP, e.g. various
drivers for the on chip peripherals etc. Some
manufacturers also provide so-called CPU Support
Package, a platform independent library that
can be used when developing for this particular
CPU.
But still you are far away from the BSP for
your custom board! See Dean and Paul replies,
depending on your experience it may take you
many man/months to get the job done ...
I'd suggest you installing the evaluation version
of Platform Builder and a have a look at one of
the included BSPs, e.g. Mainstone (PXA based).
This will give you a general idea on what the BSP
is and amount of work needed to build one. Look through
the following dirs:
....\WINCE600\PLATFORM\MAINSTONEIII\*
....\WINCE600\PLATFORM\COMMON\SRC\SOC\PXA27X_MS_V1\*
--
Oleg
Robert wrote:
Hello Paul,
Okay, you made it clear! And I see how Dean is right also!
So this so called BSP, should I ask the speciifc chip maker of the processor
to provide me one?
Roberto
"Paul G. Tobey [eMVP]" wrote:
Dean is saying that you can build whatever you want *but*, in order for
Windows CE, which is a full-blown operating system, just like Windows XP,
etc., you have to write a board support package for your board. This is not
a 1-day operation and, unless there is a sample BSP for your type of
processor, it will take you *months* to accomplish it, given your level of
experience.
If all you want to do is blink an LED, it would, further, be stupid to port
an entire operating system, with support for filesystems, registry, various
buses like USB and PMCIA, etc. However, in order to flash the LED with
Windows CE in the picture, you still have to build a BSP for it. Windows CE
tools do not build simple programs that you can somehow just flash into your
processor and run without the underlying operating system. So, yes, no
matter what your hardware does you have to port Windows CE to it to do
anything, even blink one stupid LED. Since no one in their right mind would
create an entire operating system to do such a trivial task, there's no
Windows CE-based shortcut.
You can use some tools specifically for your target processor, maybe to
write just a program to blink your LED, but that is absolutely, positively
NOT Windows CE. Windows CE is a full operating system and, regardless what
you want a program to run in that operating system to do, porting the
operating system is complex.
Your understanding is certainly flawed. A BSP is *NOT* a little program
that makes the board do something. It's a complete layer of system code
which provides services that the Windows CE kernel needs to configure your
specific processor, etc., and provides drivers for each and every device and
bus that your hardware supports. The OS, for example, requires a periodic
timer for scheduling of the multilple tasks that Windows CE supports. Your
BSP has to program the processor to provide that timer interrupt. That is
one out of about 150 things that the BSP has to do.
Paul T.
"Robert" <Robert@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:9CDB98CB-5BA9-4F7C-A14C-B4BCE2CB2A5E@xxxxxxxxxxxxxxxx
Hello Dean, thankyou for you post!
I am a newbie to this, so I appreciate your patients!
I am sorry, I don't think I understand. I am really not referencing my
question to an already made board. I don't really care about any
commercial
board that exists in todays maket place. All I want to do is build my own
board and its entire hardware platform which would consist of *one* LED
that
blinks. Thats all! I mean I should be allowed to have a module composed
of
an ARM microcontroller with WCE in it that blinks *one* LED. No!
A BSP is not a function thatSo if my entire hardware platform is one led, (a resistor and a led,
blinks an LED. It is a complete package of software that controls the
entire hardware platform,
thats
it!)
Then my complete package of software (BSP) would be the C code to blink
the
led!
No!
Creating a BSP for custom hardware is a very difficult task.In my case it wouldn't it be a 2 liner C code blinking a led? I know that
WCE is a complex world which is a complete package of software that
controls
the entire hardware platform, and exposes it to the upper level operating
system software, but I would like to understand the fundamentals of this.
I
don't want to control rs232/USB ports, complex VGA controllers or IRDA
components right now. I can do these things now with PICS and so I know
that
I really don't need WCE to do these things!
All I want to know is can I buy a microcontroller chip (One of the chips
supported by WCE), solder it on a board, connect a led to one of its
outputs.
Create a simple C program that can be downloaded in the controller chip
via
the chip makers compiler. Test to see if it works. Then call this little C
program a BSP (my little BSP!!!!!). Then somehow which I haven't looked
into
yet, incorporate this little BSP in platform builder so my WCE operating
system can call it. Then Create a small eVC++ program and download it on
my
board along with WCE and execute it.
Perhaps I am completely unrealistic with my understanding of the mechanics
of WCE. If so, then I am sorry to have wasted your time. If not then I can
be
greatfull and look into this further.
With great regards
Roberto
"Dean Ramsier" wrote:
Running CE on a custom hardware design is light years different from
programming controllers from Microchip. If you're expecting it to be at
all
similar, don't even think about going there. No, you can't just install
CE
on the platform, it doesn't work that way. A BSP is not a function that
blinks an LED. It is a complete package of software that controls the
entire hardware platform, and exposes it to the upper level operating
system
software. Creating a BSP for custom hardware is a very difficult task.
If
you have no experience, and you can't start from something close, then
expect many man months of effort.
If you purchase a board from a vendor who *already* has created the BSP,
then you can write your program that blinks the LED. It won't be two
lines
long though. Remember, you're going from something that has no operating
system to one that has a very complex, high level operating system. You
have to live in that environment, and you have to program in that
environment. The flexibility that comes with OS support also comes with
complexity. You don't get one without the other...
--
Dean Ramsier - eMVP
BSQUARE Corporation
"Robby" <Robby@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:C40AF474-F252-4BA2-94C6-623B5DDDC671@xxxxxxxxxxxxxxxx
Hello voidcoder, thankyou for taking the time to answer my post!
I have a real dilema in my hands.
You see, most pre-made boards on the market are too big in size for my
application ! I have to work with 1.5" x 2.5" max in dimensions. Also
most
commercial boards draw too much power ( 1 to 3 A) which is unaceptable
for
my
project. Therefore I need to build the whole system from the ground up.
But
really don't need much, maybe one fifth of what full fledged commercial
boards offer.
Therefore I need to purchase a microcontroller like this one perhaps:
AT91SAM9260, please view its specs at the following links:
http://www.atmel.com/dyn/products/product_card.asp?part_id=3870
http://www.linuxdevices.com/news/NS8107946385.html
to build my own board from there. I have lots of experience with
electronic
chips and I can program in C and VC++ (not an expert at VC++ though!).
You see, my dilema is this, if I can run WCE on a microcontroller like
the
one I mentioned above without any other extra hardware required then it
would
be worthed for me, else, I may as well stick to my current
microcontrollers
from Microchip because it would turn out to be cheaper this way.
Right now I have a microcontroller from Microchip (PIC18F4520) and it
is
driving a 176 x 132 pixel TFT LCD (The controller of the LCD is embeded
in
the TFT LCD!). All I am doing is sending data from the PIC to the LCD
via
the
LCD's 8 bit interface. Simple! You would amazed on the nice pictures I
can
paint on this LCD for a total cost of 6$
However, if one day my application needs to read a WORD file... ha! I
have
a
problem!
So for now all I would require is a microcontroller that can support
WCE
in
the event I need to go in the WCE direction. For now I don't need the
power
of WCE. I would do all my drivers in C in the AT91SAM9260
microcontroller
just as I am doing tin the current PIC microcontroller.
So in breif: Would I be able to buy a microcontroller which is
supported
by
WCE and and if I someday need WCE I would download WCE in this
controller.
Thereafter I can run a simple eVC++ program to lets say "blink a led".
I
think my eVC++ program would call a function I would of written in C (I
think
this is what you guys call a BSP: the litlle C program that actually
blinks
the led would be my own BSP.... right!) and thats it, nothing more.
I hope I am not confusing you or anyone else that reads this post. If I
am
please let me know and I will try to be clearer in my explainations.
With greatest regrds
Roberto
--
Best regards
Robert
"voidcoder" wrote:
It might be not as easy as you think. In theory,
you should be able to run CE on any ARM9 target
(thanks to the MMU support) but it is definitely
not as simply as just creating an image in PB. There
is plenty of work to get the OS running on a generic
ARM9 target, unless it is a retail board (or your board
is based on some existing reference design) featuring
Windows CE support, i.e. has Windows CE Board Support
Package for it...
What exactly CPU/board is it?
--
Oleg
Robert wrote:
Hello,
I am very new to the winCE world so please bare with me if I ask
silly
questions!
I would like to know in terms of hardware, if I use say the ARM9
microcontroller, can I simply create my image in platform builder
and
download it in the microcontroller and connect my circuitry to the
microcontroller?
I mean if I simply wanted to blink an LED connected to one of the
outputs of
my microcontroller, then I would make a two line program in VC++ and
dowload
it in the microcontroller and run it on WCE right? No other hardware
would be
required.. right?
Any advice or feedback is appreciated!
- Follow-Ups:
- Re: Newbie to WCE!
- From: Steve Maillet \(eMVP\)
- Re: Newbie to WCE!
- From: Paul G. Tobey [eMVP]
- Re: Newbie to WCE!
- References:
- Re: Newbie to WCE!
- From: voidcoder
- Re: Newbie to WCE!
- From: Robby
- Re: Newbie to WCE!
- From: Dean Ramsier
- Re: Newbie to WCE!
- From: Robert
- Re: Newbie to WCE!
- From: Paul G. Tobey [eMVP]
- Re: Newbie to WCE!
- From: Robert
- Re: Newbie to WCE!
- From: voidcoder
- Re: Newbie to WCE!
- Prev by Date: Re: Serial data missing at 115K BPS
- Next by Date: Re: Newbie to WCE!
- Previous by thread: Re: Newbie to WCE!
- Next by thread: Re: Newbie to WCE!
- Index(es):
Relevant Pages
|