How to implement new features in existing bios? - intel

I wonder is it possible to implement new features in existing bios, in other words is there some libraries (like sdk) of motherboard which give you chance to make easy your own bios?
What mean "supported motherboard" - is that include libraries for developing or just mean that you can download latest update if exist?
To be more specific i will like to make in bios feature to wake up my computer if it's off at specific time. My motherboard is asrock. Do i have chance for develop my own timer features, or just can wait for product developer and pray that they make those feature?

Generally, the answer is "no". Most motherboard manufacturers license the BIOS source code from Phoenix/AMI/Insyde, and then tailor it to their specific motherboard implementation. The BIOS gets compiled to a binary, it is loaded into the motherboard flash chip, and that's it.
To modify the BIOS, you would need access to the BIOS source code. The motherboard manufacturer is unlikely to give that to you (they are probably under NDA). You could license the original source code from the BIOS vendor, but that is quite expensive (typically tens of thousands of $$$). Also, the source code from the BIOS vendor will be missing any motherboard-specific customizations.
Now, with the introduction of newer UEFI-based BIOSes, they have gotten a lot more extensible and standardized between vendors. It is now possible to develop pre-boot applications that live in the flash chip alongside the BIOS. However, the timer feature you are looking to implement is rather low-level, so this does not help you.

Related

Encrypt USB Stick with AES 128/256

I am trying to encrypt my USB stick with AES 128/256 encryption. I am new to the game and need some advice, google has not been my friend so far.
All i would like to do is encrypt the whole USB stick so that i end up with one like this AES USB.
Any help is appreciated.
Here are your choices for encryption:
Hardware encryption - get an USB flash drive that has the encryption logic programmed into its firmware (like the one you linked to).
Pros: Works in any operating system, no software installation necessary.
Cons: This is a more expensive option.
Software encryption - either get a flash drive that comes with a software, or download and install software that will encrypt your drive.
Pros: Less expensive option, some of good software to do this is either free or low-cost.
Cons: The software is operating system specific, so if you need a cross-OS approach, then you will have to find a program that has versions for multiple operating systems. Also the software will either need to be installed on any computer you will stick the flash drive into (most probably requiring you to be an administrator on that computer), or hopefully it can have a portable version that can be run directly from the USB drive.
Most USB flash sticks manufacturers have hardware-encrypted sticks in their assortment - you can ask around and read some reviews and choose one to your liking.
For software programs - the easiest option for Windows is its built-in BitLocker program, it is available on most recent Windows versions.
For cross-platform - look at tools like VeraCrypt, GNU Privacy Guard and others (again do your research and pick the one you like).
Another viable option is just to put the files you want to restrict access to in a password-protected ZIP archive.
Hope this helps.

Is microcontroller development kit can be used for programming any number of microcontrollers

I am a non technical person and trying hands on making devices. i have one stupid question. I want to know, is micro-controller development kit can program unlimited microcontrollers (programming will be same for all micro-controller) or we need separate micro controller development kit and separate microcontroller in every device?
You have to read the license for the tool when you buy it, some yes, some no. Often you dont use the developers kit to program the parts, you use a programming tool (which may or may not be part of the same kit) for production. Some tools will program different vendors parts or all the parts within a vendors product list, but in general that is not the case. depending on the device there are a lot of free tools (avrdude for example) that dont have restrictions, but it is vendor/chip specific as to what tool will work for the microcontroller in question.
Simply read the docs on the tool you are interested in to see what it does and doesnt support, read the license agreement to see if there is a limit on the number of devices per software license.
Each type of micro-controller will have its own development kit. That kit works with all the same or similar micro-controllers. But, you will need separate micro-controller for each device.
There are plenty of coffeemakers and washing machines with a microcontroller in them. And clearly the manufacturers of those don't buy microcontroller dev kits by the billions. That would be unaffordable.

Displaying different stuff to multiple Projectors.

I want to connect multiple projector to single laptop, I found about VGA Splitter (http://www.kvmswitchtech.com/vga-splitter-350mhz-8-port-p46359.htm) which can use to connect multiple projectors to single PC.
But I don’t want to display whole screen in both Projectors, in short Projectors should display different stuff at same time.
For Example:-
Projector 1 can Display Power point Presentation and Projector 2 can Display the running movie in player.
I got below set of Questions
Is there any Software available to perform this operation?
If I want to write my own application, Is Directshow (Provided by Microsoft ) is good one to start?
Is there any other VGA Programming language available?
Is there any Software available to perform this operation?
The primary question you are going to get here is how the projectors are connected to PC. The device might need specific integration and you're moving the item #2 below immediately. Otherwise it can be a sort of secondary monitor and you can extend your desktop over it, and then any full screen application running on the secondary monitor is going to be projected.
Perhaps, you will find more software choices going to SuperUser.
If I want to write my own application, Is Directshow (Provided by Microsoft ) is good one to start?
As mentioned above, the hardware might need you to use specific SDK from the vendor and this is your starting point. DirectShow is the API that covers multiple related tasks and might be of use here:
it is capable to built media pipelines terminating at DirectShow-compatible video output device (the projector might be not might be not capable/compatible)
it allows you to play media files into your application and otherwise control video/audio and integrate it into higher level software
DirectShow as API does not fully cover requested task, but it definitely relevant might be used in the in-house built Windows based app.
Is there any other VGA Programming language available?
The "language" is not actually language and it is how particular device is integrated with PC. This is typically covered by hardware vendors who provide the hardware with accompanying development kits and samples.

Minimal FOSS RTOS with TCP/IP, SSL, USB and basic file-system support for ARM

Here's a candid admission first -- that I know zilch about RTOS or Embedded programming, so folks who know better may help me frame the query more appropriately.
What would be the minimal FOSS RTOS (or any OS for that matter) with support for TCP/IP, SSL, USB and some basic file-system for low-end ARM devices like Cortex-M3's ?
Have not ruled out something like ARM9/ARM7TDMI, so an RTOS that has "optional" MMU support, may be a major plus. We are at present dabbling with few uncertainities like precise processor, MMU/no-MMU, running completely head-less (no display), however I wanted to start a little ramp-up.
Would gladly answer counter questions to clarify the requirement.
I believe that eCOS has support for all you need and is scalable.
Alternatively you could build from a self-selected kit of parts; choosing independent RTOS, filesystem, USB, etc. From different sources, and integrating them yourself.

Simulating a TWAIN Device

Our company is using some software that ONLY accepts input from an "Imaging Device" i.e. a TWAIN device (e.g. scanner).
The problem is that we are receiving our files digitally, so using an actual scanner would require us to print, scan, and shred documents that we already have on the computer, but not in the software.
I was curious if anybody has any idea of how we might be able to work around this problem in the meantime. My first thought was to find some way to trick the program into thinking we're using a scanner, via some new 'imaging device' that would just read in the file, and spit it out to the software, but I don't even know where to begin with that.
We put in a feature request, seeing as how this problem should obviously be addressed in the software itself, but the company is notorious for lagging pretty hard when it comes to updates.
The system used by scanners is called TWAIN, so you'd be looking for some sort of virtual twain driver.
A quick google search will produce several hits, I don't have any experience with the software myself so can't advise any further.
Two such providers I found via experts exchange:
http://www.twaintools.de
http://www.scanpoint-usa.com
OK, months late... but in case you are interested, I have a TWAIN driver framework/toolkit that might let you build this fairly easily, depending on just what your scanning app expects, and how hard it is to read images from your digital documents. It's a Microsoft Visual C++ project. No charge but you'd need our permission to redistribute a driver based on it: GenDS
The TWAIN Working Group also has a sample/skeleton driver, I think it's straight C - and used to have some rather bad bugs (Why I wrote mine ;-) but, it might have got better.
Look for the "sample data source and application" on their download page.
And of course I have a 'commercial' version of GenDS that I use to write TWAIN drivers on contract.

Resources