constant memory copying problem

I am writing a very simple code of using constant memory. But I cannot copy the correct values to the constant memory. All I get are 0s.

constant ushort2 ck[64*128];


ushort2 * k = new ushort2 [64*128];

//set  values for  k

cudaMemcpyToSymbol(ck, k, 64*128*sizeof(ushort2),0, MemcpyHostToDevice);


Does anyone have met the same problem ? Thanks