SHA256 for large files I have a hardware engine for SHA256 which can process 64K of data, but the input data size I am getting is around 1MB. What should I do to process 1MB size.  

What should be my input after 1st 64KB and what will be my IV (initial vector)?
Can anyone provide any idea?
Most likely, the hardware engine has an API accepting an IV of 256 bits (32 bytes) and a data block of some size multiple of 512 bits (64 bytes), and returns a result of 32 bytes.

Given that SHA-256 is a Merkle-Damgård hash, in order to chain invocations of that API, you want to pass the SHA-256 IV (given by FIPS 186-4 section 5.3.3) as the IV of the first call, and the result of the previous call as the IV of the next invocation. The last result returned by the API will be the hash.

Assuming the API does not perform the padding, the data blocks passed to successive invocations shall be the padded message (that is the message of $S$ bits followed by a single bit at 1, then $511-(S+64\bmod512)$ bit(s) at 0, then $S$ on 64 bits in big-endian binary), truncated into blocks suitable for the API, in the order they have in the padded message.

If the blocks passed to the API could only have 64kB size, that API would be usable to process the whole message only when $2^{19}-576\le S\bmod 2^{19}&lt;2^{19}-64$; otherwise, some of the end of the computation would need to be done in software.